编写Java程序,使用ActionEvent事件并要求如下: (1)界面上有五个组件:两个标签分别为 “数字1:”,"数字2:”,两个文本框 和一个“计算”按钮; (2)在数字1的文本框中输入一个数字, 并点击“计算”按钮,则在数字2的文本框 中输出数字1的文本框中输入数字的2倍加1。
时间: 2024-02-03 18:11:42 浏览: 72
以下是一个简单的Java程序,实现了上述要求:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator implements ActionListener {
JTextField num1Text, num2Text;
public Calculator() {
// 创建 JFrame 实例
JFrame frame = new JFrame("Calculator");
// 设置窗口大小
frame.setSize(400, 200);
// 设置布局方式
frame.setLayout(new GridLayout(3, 2));
// 创建组件
JLabel num1Label = new JLabel("数字1:");
num1Text = new JTextField();
JLabel num2Label = new JLabel("数字2:");
num2Text = new JTextField();
JButton calcButton = new JButton("计算");
// 添加组件到窗口
frame.add(num1Label);
frame.add(num1Text);
frame.add(num2Label);
frame.add(num2Text);
frame.add(calcButton);
// 注册事件处理程序
calcButton.addActionListener(this);
// 显示窗口
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("计算")) {
try {
int num1 = Integer.parseInt(num1Text.getText());
int num2 = num1 * 2 + 1;
num2Text.setText(Integer.toString(num2));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "请输入一个整数!");
}
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
在程序中,我们创建了一个名为Calculator的类实现了ActionListener接口,以便处理计算按钮的点击事件。在构造函数中,我们创建了一个JFrame实例并设置了布局方式。然后,我们创建了所需的组件并将它们添加到窗口中。最后,我们注册了计算按钮的事件处理程序。
在actionPerformed方法中,我们首先检查事件的命令是否为“计算”。如果是,我们将数字1文本框中输入的文本解析为整数,并计算出数字2的值,然后将该值设置为数字2文本框的文本。如果数字1文本框中的文本无法解析为整数,则显示一个错误消息框。
最后,在main方法中,我们创建了一个Calculator对象,该对象将创建我们的应用程序窗口并启动事件循环。
阅读全文