如何用Java swing的JFrame编写简单计算器
时间: 2024-09-20 10:05:21 浏览: 36
使用Java Swing创建一个简单的计算器,可以分为以下几个步骤:
1. 导入必要的库:首先需要导入`javax.swing.*`库,这是Swing组件的基本集合。
```java
import javax.swing.*;
```
2. 创建主窗口(JFrame):
```java
public class Calculator extends JFrame {
public Calculator() {
// 设置窗口属性
setTitle("简单计算器");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序
setLocationRelativeTo(null); // 居中显示
}
}
```
3. 添加面板和组件:
```java
class CalculatorPanel extends JPanel {
JTextField inputField = new JTextField(); // 输入框
JButton button1, button2, equalsButton, clearButton; // 数字按钮、运算符按钮等
// 初始化按钮并设置事件监听
//...
}
Calculator calculator = new Calculator();
CalculatorPanel panel = new CalculatorPanel();
calculator.setContentPane(panel);
calculator.setVisible(true);
```
4. 事件处理:为每个按钮添加监听器,处理数字输入、运算符选择以及计算操作。例如,你可以通过事件分发机制(如`ActionListener`)来响应按钮点击事件,并结合栈(Stack)或表达式解析算法来处理表达式的计算。
```java
button1.addActionListener(e -> {
int value = Integer.parseInt(inputField.getText()) + 1;
inputField.setText(String.valueOf(value));
});
```
5. 清除功能:
```java
clearButton.addActionListener(e -> {
inputField.setText("");
});
```
6. 等号按钮处理加法:
```java
equalsButton.addActionListener(e -> performCalculation());
```
7. `performCalculation()`方法:这里会根据当前输入的表达式,利用`eval()`函数或自定义解析算法计算结果。
完整代码会比较复杂,涉及到UI设计和事件处理,但以上部分概述了基本框架。注意,Java Swing已经过时,现在推荐使用JavaFX或者Lanterna等更现代的GUI库替代。如果你对Swing有深入需求,可以在网上找到详细的教程和示例。
阅读全文