java编写一个应用程序,在窗口中设计4个按钮,分别命名为“加”,“减”,“乘”,“除”,另外添加3个文本框,单击相应的按钮,在两个文本框中做计算,在第3个文本框中显示结果。要求处理NumberFormatException异常
时间: 2023-12-06 17:02:58 浏览: 68
运行Android应用程序-03 第一个Android程序
好的,这是一个简单的Java GUI程序,可以实现四则运算,同时处理NumberFormatException异常:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CalculatorGUI extends JFrame implements ActionListener {
private JTextField num1Field, num2Field, resultField;
private JButton addButton, subtractButton, multiplyButton, divideButton;
public CalculatorGUI() {
setTitle("Calculator");
setSize(400, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
JLabel num1Label = new JLabel("Num 1:");
num1Field = new JTextField();
JLabel num2Label = new JLabel("Num 2:");
num2Field = new JTextField();
JLabel resultLabel = new JLabel("Result:");
resultField = new JTextField();
resultField.setEditable(false);
addButton = new JButton("Add");
addButton.addActionListener(this);
subtractButton = new JButton("Subtract");
subtractButton.addActionListener(this);
multiplyButton = new JButton("Multiply");
multiplyButton.addActionListener(this);
divideButton = new JButton("Divide");
divideButton.addActionListener(this);
panel.add(num1Label);
panel.add(num1Field);
panel.add(num2Label);
panel.add(num2Field);
panel.add(resultLabel);
panel.add(resultField);
panel.add(addButton);
panel.add(subtractButton);
panel.add(multiplyButton);
panel.add(divideButton);
add(panel);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
try {
double num1 = Double.parseDouble(num1Field.getText());
double num2 = Double.parseDouble(num2Field.getText());
double result = 0;
if (e.getSource() == addButton) {
result = num1 + num2;
} else if (e.getSource() == subtractButton) {
result = num1 - num2;
} else if (e.getSource() == multiplyButton) {
result = num1 * num2;
} else if (e.getSource() == divideButton) {
result = num1 / num2;
}
resultField.setText(Double.toString(result));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "Invalid input", "Error", JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String[] args) {
new CalculatorGUI();
}
}
```
在这个程序中,我们创建了一个继承自JFrame的CalculatorGUI类。在构造函数中,我们设置了窗口的标题、大小和关闭操作,并创建了一个面板来存放组件。我们使用GridLayout来将组件放置在面板上,使其具有网格状的布局。
我们在面板上添加了三个文本框和四个按钮。其中,前两个文本框用于输入两个数字,第三个文本框用于显示结果,设置为只读。四个按钮分别对应加、减、乘、除四种运算,每个按钮都添加了ActionListener,用于处理单击事件。
在actionPerformed方法中,我们首先尝试将两个文本框中的文本解析为double类型的数字。如果解析成功,就根据单击的按钮执行相应的运算,并将结果显示在第三个文本框中。如果解析失败,就弹出一个对话框,提示用户输入的不是有效的数字。
这样,我们就完成了一个简单的Java GUI程序,可以实现四则运算并处理NumberFormatException异常。
阅读全文