java awt写一个计算器_AWT:实现简单的java计算器
时间: 2023-10-31 16:13:51 浏览: 101
好的,下面是一个简单的 Java 计算器的 AWT 实现代码:
```java
import java.awt.*;
import java.awt.event.*;
public class Calculator extends Frame implements ActionListener {
private TextField textField; // 显示计算结果的文本框
private int num1 = 0; // 第一个操作数
private int num2 = 0; // 第二个操作数
private int result = 0; // 计算结果
private String operator; // 操作符
public Calculator() {
super("Calculator");
setLayout(new BorderLayout());
// 添加文本框
textField = new TextField();
textField.setEditable(false); // 设置为不可编辑
add(textField, BorderLayout.NORTH);
// 添加按钮面板
Panel buttonPanel = new Panel(new GridLayout(4, 4));
String[] buttonLabels = {"7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "C", "0", "=", "/"};
for (String label : buttonLabels) {
Button button = new Button(label);
button.addActionListener(this);
buttonPanel.add(button);
}
add(buttonPanel, BorderLayout.CENTER);
// 设置窗口大小并显示
setSize(300, 300);
setVisible(true);
}
// 处理按钮点击事件
public void actionPerformed(ActionEvent e) {
String label = e.getActionCommand();
switch (label) {
case "C": // 清空操作数和操作符
num1 = 0;
num2 = 0;
operator = null;
textField.setText("");
break;
case "+":
case "-":
case "*":
case "/":
operator = label;
num1 = Integer.parseInt(textField.getText());
textField.setText("");
break;
case "=":
num2 = Integer.parseInt(textField.getText());
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
}
textField.setText(Integer.toString(result));
break;
default: // 数字按钮
textField.setText(textField.getText() + label);
break;
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
这个计算器支持加、减、乘、除四个基本运算,以及清空操作。运行 `main` 方法即可启动窗口。
阅读全文