java做一个选项卡窗口分别计算圆面积,矩形面积和三角形面积
时间: 2024-03-03 13:47:04 浏览: 30
好的,我可以给你提供一个简单的Java程序来实现这个功能。该程序将创建一个选项卡窗口,其中包含三个选项卡,分别用于计算圆形、矩形和三角形的面积。下面是程序的代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AreaCalculator extends JFrame implements ActionListener {
private JTabbedPane tabbedPane;
private JPanel circlePanel, rectanglePanel, trianglePanel;
private JTextField circleRadiusField, rectangleLengthField, rectangleWidthField, triangleBaseField, triangleHeightField;
private JLabel circleAreaLabel, rectangleAreaLabel, triangleAreaLabel;
public AreaCalculator() {
setTitle("Area Calculator");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建选项卡窗口
tabbedPane = new JTabbedPane();
circlePanel = new JPanel();
rectanglePanel = new JPanel();
trianglePanel = new JPanel();
tabbedPane.add("Circle", circlePanel);
tabbedPane.add("Rectangle", rectanglePanel);
tabbedPane.add("Triangle", trianglePanel);
// 添加圆形选项卡
JLabel circleRadiusLabel = new JLabel("Radius:");
circleRadiusField = new JTextField(10);
JButton circleButton = new JButton("Calculate");
circleButton.addActionListener(this);
circleAreaLabel = new JLabel("");
circlePanel.add(circleRadiusLabel);
circlePanel.add(circleRadiusField);
circlePanel.add(circleButton);
circlePanel.add(circleAreaLabel);
// 添加矩形选项卡
JLabel rectangleLengthLabel = new JLabel("Length:");
rectangleLengthField = new JTextField(10);
JLabel rectangleWidthLabel = new JLabel("Width:");
rectangleWidthField = new JTextField(10);
JButton rectangleButton = new JButton("Calculate");
rectangleButton.addActionListener(this);
rectangleAreaLabel = new JLabel("");
rectanglePanel.add(rectangleLengthLabel);
rectanglePanel.add(rectangleLengthField);
rectanglePanel.add(rectangleWidthLabel);
rectanglePanel.add(rectangleWidthField);
rectanglePanel.add(rectangleButton);
rectanglePanel.add(rectangleAreaLabel);
// 添加三角形选项卡
JLabel triangleBaseLabel = new JLabel("Base:");
triangleBaseField = new JTextField(10);
JLabel triangleHeightLabel = new JLabel("Height:");
triangleHeightField = new JTextField(10);
JButton triangleButton = new JButton("Calculate");
triangleButton.addActionListener(this);
triangleAreaLabel = new JLabel("");
trianglePanel.add(triangleBaseLabel);
trianglePanel.add(triangleBaseField);
trianglePanel.add(triangleHeightLabel);
trianglePanel.add(triangleHeightField);
trianglePanel.add(triangleButton);
trianglePanel.add(triangleAreaLabel);
add(tabbedPane);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Calculate")) {
if (tabbedPane.getSelectedIndex() == 0) {
// 计算圆形面积
double radius = Double.parseDouble(circleRadiusField.getText());
double area = Math.PI * radius * radius;
circleAreaLabel.setText("Area: " + area);
} else if (tabbedPane.getSelectedIndex() == 1) {
// 计算矩形面积
double length = Double.parseDouble(rectangleLengthField.getText());
double width = Double.parseDouble(rectangleWidthField.getText());
double area = length * width;
rectangleAreaLabel.setText("Area: " + area);
} else if (tabbedPane.getSelectedIndex() == 2) {
// 计算三角形面积
double base = Double.parseDouble(triangleBaseField.getText());
double height = Double.parseDouble(triangleHeightField.getText());
double area = 0.5 * base * height;
triangleAreaLabel.setText("Area: " + area);
}
}
}
public static void main(String[] args) {
new AreaCalculator();
}
}
```
程序中使用了JTabbedPane类来创建选项卡窗口,每个选项卡中包含一个表单和一个计算按钮,用于输入参数并计算面积。当用户点击计算按钮时,程序将根据当前选项卡的索引来计算相应的面积,并将结果显示在标签中。