目录
背景:
代码展示:
代码解析:
输出结果:
总结:
背景:
使用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应用。并处理事件。