编写一个应用程序,有一个标题为"计算"的窗口,窗口的布局为 FlowLayout 布局。设计四个按钮,分别命名为 加"、"差"、"积、"、"除",另外,窗口中还有三个文本框。单击相应的按钮,将两个文本
时间: 2024-12-23 10:19:10 浏览: 8
在一个简单的Java Swing应用程序中,你可以按照以下步骤创建一个具有所需功能的"计算"窗口:
首先,导入必要的Swing库并设置窗口的基本属性:
```java
import javax.swing.*;
import java.awt.*;
public class CalculatorApp extends JFrame {
public static void main(String[] args) {
// 初始化窗口
CalculatorFrame frame = new CalculatorFrame();
frame.setVisible(true);
}
}
```
接着,定义一个名为`CalculatorFrame`的内部类,它继承自JFrame,并实现FlowLayout布局:
```java
class CalculatorFrame extends JFrame {
private JPanel panel;
private JTextField textField1, textField2;
private JButton addButton, subtractButton, multiplyButton, divideButton;
public CalculatorFrame() {
setTitle("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLayout(new FlowLayout());
// 创建文本框和按钮
textField1 = new JTextField(10);
textField2 = new JTextField(10);
addButton = new JButton("+");
subtractButton = new JButton("-");
multiplyButton = new JButton("*");
divideButton = new JButton("/");
// 添加组件到面板
panel = new JPanel();
panel.add(textField1);
panel.add(textField2);
panel.add(addButton);
panel.add(subtractButton);
panel.add(multiplyButton);
panel.add(divideButton);
// 设置按钮点击事件处理
addButton.addActionListener(e -> performCalculation("+", textField1.getText(), textField2.getText()));
subtractButton.addActionListener(e -> performCalculation("-", textField1.getText(), textField2.getText()));
multiplyButton.addActionListener(e -> performCalculation("*", textField1.getText(), textField2.getText()));
divideButton.addActionListener(e -> performCalculation("/", textField1.getText(), textField2.getText()));
// 将面板添加到窗口
add(panel);
}
private void performCalculation(String operation, String num1, String num2) {
try {
double result = Double.parseDouble(num1) + (operation.equals("+") ? Double.parseDouble(num2) :
operation.equals("-") ? -Double.parseDouble(num2) :
operation.equals("*") ? Double.parseDouble(num2) * Double.parseDouble(num1) :
Double.parseDouble(num1) / Double.parseDouble(num2));
JOptionPane.showMessageDialog(this, "结果:" + result);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(this, "输入无效,请输入数字!");
}
}
}
```
在这个例子中,每个按钮都有一个点击事件处理器,当用户点击按钮时,会调用`performCalculation`方法来进行对应的数学运算,并显示结果显示在消息框中。
阅读全文