写一个java创意小程序,要求包含图形界面设计和事件处理知识
时间: 2024-02-06 09:02:36 浏览: 37
好的,我可以给你提供一个简单的 Java 创意小程序,它包含图形界面设计和事件处理知识。
这个小程序是一个简单的计算器,用户可以输入两个数字和一个操作符,然后程序会计算它们的结果并显示出来。
首先,我们需要创建一个 GUI 窗口,可以使用 Java Swing 库来实现。在窗口上添加一个标签和三个文本框,分别用来输入两个数字和一个操作符。然后添加一个按钮来触发计算操作,并在窗口上添加一个标签来显示结果。
接下来,我们需要实现事件处理程序,以便当用户点击计算按钮时,程序可以计算输入的值并将结果显示在结果标签上。我们可以使用 Java 中的 ActionListener 接口来实现这个处理程序。当用户点击按钮时,程序会调用 actionPerformed() 方法,该方法会读取文本框中的值、执行计算并将结果显示在标签上。
下面是一个简单的 Java 计算器程序的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator implements ActionListener {
private JFrame frame;
private JLabel label;
private JTextField num1Field, num2Field, opField, resultField;
private JButton calcButton;
public Calculator() {
// 创建窗口和组件
frame = new JFrame("Calculator");
label = new JLabel("Enter two numbers and an operator:");
num1Field = new JTextField(10);
num2Field = new JTextField(10);
opField = new JTextField(2);
calcButton = new JButton("Calculate");
resultField = new JTextField(10);
// 添加组件到窗口
JPanel panel = new JPanel();
panel.add(label);
panel.add(num1Field);
panel.add(opField);
panel.add(num2Field);
panel.add(calcButton);
panel.add(resultField);
frame.add(panel);
// 注册事件处理程序
calcButton.addActionListener(this);
// 设置窗口大小和可见性
frame.setSize(300, 150);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// 读取文本框中的值
double num1 = Double.parseDouble(num1Field.getText());
double num2 = Double.parseDouble(num2Field.getText());
String op = opField.getText();
// 执行计算
double result = 0;
switch (op) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
}
// 显示结果
resultField.setText(Double.toString(result));
}
public static void main(String[] args) {
Calculator calc = new Calculator();
}
}
```
这个程序可以根据用户输入的数字和操作符计算结果,并将结果显示在窗口上。它演示了如何使用 Java Swing 库来创建 GUI 窗口,以及如何使用 ActionListener 接口来处理按钮点击事件。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)