目录
背景:
代码展示:
代码解析:
输出结果:
总结:
背景:
使用Java AWT(Abstract Window Toolkit)库创建的简单计算器应用-TFMath Calculator。这个计算器允许用户输入两个数字,点击=号按钮后,计算器会计算这两个数字的和,并在结果栏中显示结果,下面来详细讲解
代码展示:
import java.awt.*;
import java.awt.event.*;
public class TFMath {
public static void main(String[] args) {
TFFrame frame = new TFFrame();
frame.launchFrame();
}
}
class TFFrame extends Frame {
TextField num1, num2, result; // 将这些字段声明为实例变量
Button btnEqual;
public void launchFrame() {
num1 = new TextField(10);
num2 = new TextField(10);
result = new TextField(15); // 结果的 TextField
Label lblPlus = new Label("+");
btnEqual = new Button("=");
// 添加 ActionListener 到按钮
btnEqual.addActionListener(new MyMonitor());
setLayout(new FlowLayout());
add(num1);
add(lblPlus);
add(num2);
add(btnEqual);
add(result);
pack();
setVisible(true);
}
public TFFrame() {
setTitle("TFMath Calculator");
setSize(300, 200);
}
// 内部类,监听按钮点击事件
private class MyMonitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
try {
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
int sum = n1 + n2; // 计算和
result.setText(String.valueOf(sum)); // 设置结果 TextField 的文本
} catch (NumberFormatException ex) {
result.setText("Invalid input"); // 处理输入不是数字的情况
}
}
}
}
代码解析:
1.导入所需要的库
import java.awt.*;
import java.awt.event.*;
2.主类TFMath (程序入口点,TFMath类包含一个Main方法,该方法创建一个TFFrame对象实例,并调用launchFrame方法来显示窗口)
public class TFMath {
public static void main(String[] args) {
TFFrame frame = new TFFrame();
frame.launchFrame();
}
}
3.TFFrame类:
-声明变量:(用于存储输入字段、结果显示字段和等号按钮引用)
TextField num1, num2, result; // 将这些字段声明为实例变量
Button btnEqual;
-launchFrame方法: (初始化窗口,创建文本字段、标签、按钮,将它们添加到窗体中。然后,它调用pack方法来自动:(TFFrame类的构造函数,用于设置窗口的标题大小)
public TFFrame() {
setTitle("TFMath Calculator");
setSize(300, 200);
}
-MyMonitor内部类 :(实现ActionListener接口。处理等号按钮的点击事件,当用户点击等号时,它会从两个输入字段中获取数字,计算总和,将结果显示在结果字段上)
private class MyMonitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
// ... 处理按钮点击事件,计算数字的和 ...
}
}
输出结果:
总结:
类别 | 细节 |
---|---|
类名 | TFMath, TFFrame, MyMonitor |
TFMath类 | |
- 方法 | main(String[] args) 功能:程序的入口点,创建 TFFrame 实例并调用其launchFrame 方法 |
TFFrame类 | |
- 变量 | num1, num2, result (TextField)btnEqual (Button)功能:存储文本字段和按钮的引用 |
- 方法 | launchFrame() <br>功能:初始化窗口组件,设置布局,添加组件,并显示窗口TFFrame() 功能:构造函数,设置窗口标题和大小 |
- 内部类 | MyMonitor <br>功能:实现ActionListener 接口,处理按钮点击事件,计算数字的和 |
MyMonitor类 | |
- 方法 | actionPerformed(ActionEvent e) <br>功能:从两个文本字段获取数字,计算它们的和,并更新结果文本字段。如果输入无效,则显示错误消息 |
GUI组件 | |
- 文本字段 | num1 , num2 (用于输入数字)result (用于显示结果) |
- 按钮 | btnEqual (等号按钮,触发计算操作) |
- 标签 | lblPlus (显示加号符号) |
事件处理 | |
- 事件类型 | ActionEvent 功能:响应按钮点击事件 |
- 监听器 | MyMonitor 功能:处理按钮点击事件,执行计算操作 |
其他 | |
- 布局 | FlowLayout 功能:用于确定组件在窗口中的排列方式 |
- 窗口设置 | 标题:"TFMath Calculator" 大小:300x200像素 |
TFMath Calculator是一个简单的Java AWT计算器应用,它允许用户输入两个数字,并计算它们的和。通过使用Java AWT库和事件处理机制,我们创建了一个具有图形用户界面的计算器,使用户能够通过点击按钮来触发计算操作。这个应用是一个很好的示例。展示了如何使用Java AWT库来创建简单的GUI应用。并处理事件。