2.编写一个应用程序,实现一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。在 窗口中设计4个按钮,分别命名为“加”“差”“乘”“除”,另外添加3个文本框,单击相应的按钮,将两 个文本框中的数字做运算,在第3个文本框中显示结果。要求处理NumberFormatException异常。
时间: 2023-12-27 10:02:09 浏览: 110
用文本框、编辑框、按钮等控件实现加法计算器 具体包括:通过编辑框输入数字,用按钮触发计算,并用文本框显示计算结果
好的,这是一个 Java 编程的问题。以下是我的解决方案:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField num1, num2, result;
private JButton addBtn, subBtn, mulBtn, divBtn;
public Calculator() {
super("计算");
setLayout(new FlowLayout());
num1 = new JTextField(10);
num2 = new JTextField(10);
result = new JTextField(10);
result.setEditable(false);
add(new JLabel("数字1: "));
add(num1);
add(new JLabel("数字2: "));
add(num2);
add(new JLabel("结果: "));
add(result);
addBtn = new JButton("加");
subBtn = new JButton("减");
mulBtn = new JButton("乘");
divBtn = new JButton("除");
add(addBtn);
add(subBtn);
add(mulBtn);
add(divBtn);
addBtn.addActionListener(this);
subBtn.addActionListener(this);
mulBtn.addActionListener(this);
divBtn.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(250, 150);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
try {
double n1 = Double.parseDouble(num1.getText());
double n2 = Double.parseDouble(num2.getText());
double r = 0;
if (e.getSource() == addBtn) {
r = n1 + n2;
} else if (e.getSource() == subBtn) {
r = n1 - n2;
} else if (e.getSource() == mulBtn) {
r = n1 * n2;
} else if (e.getSource() == divBtn) {
r = n1 / n2;
}
result.setText(Double.toString(r));
} catch (NumberFormatException ex) {
result.setText("输入有误!");
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
这个程序使用了 Java 的 Swing GUI 库,创建了一个窗口,布局采用了 FlowLayout。在窗口中添加了三个文本框和四个按钮,分别对应两个操作数和四种运算。按钮的事件处理器中,首先尝试将输入的操作数转换为 double 类型,如果输入有误则会抛出 NumberFormatException 异常,程序会捕获该异常并在结果文本框中显示错误提示。如果输入正确,则进行相应的运算,并将结果显示在结果文本框中。
阅读全文