重新使用Java awt实现简易计算器,实现加减乘除功能即可的 代码
时间: 2024-12-11 15:22:29 浏览: 9
要在Java AWT(Abstract Window Toolkit)框架下创建一个简单的图形用户界面计算器,你需要导入必要的库,创建窗口、面板和按钮,以及添加事件监听器来处理计算逻辑。以下是一个基本的步骤和伪代码示例:
首先,导入所需的AWT和Swing库:
```java
import javax.swing.*;
import java.awt.*;
```
然后,创建Calculator类:
```java
public class Calculator extends JFrame {
private JTextField display;
private JButton[] buttons = new JButton[4]; // 加、减、乘、除四个操作符
public Calculator() {
initUI();
}
private void initUI() {
setLayout(new GridLayout(5, 4)); // 水平5列,垂直4行布局
display = new JTextField("0", 20); // 显示输入框
add(display);
for (int i = 0; i < buttons.length; i++) {
buttons[i] = createButton(i);
add(buttons[i]);
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 200);
setVisible(true);
}
private JButton createButton(int op) {
JButton button = new JButton();
switch (op) {
case 0: // '+'
button.setText("+");
button.addActionListener(e -> performOperation("+"));
break;
case 1: // '-'
button.setText("-");
button.addActionListener(e -> performOperation("-"));
break;
case 2: // '*'
button.setText("*");
button.addActionListener(e -> performOperation("*"));
break;
case 3: // '/'
button.setText("/");
button.addActionListener(e -> performOperation("/"));
break;
}
return button;
}
private double performOperation(String operator) {
String input = display.getText();
try {
double num1 = Double.parseDouble(input.split(" ")[0]);
double num2 = Double.parseDouble(input.split(" ")[1]);
double result = num1;
switch (operator) {
case "+":
result += num2;
break;
case "-":
result -= num2;
break;
case "*":
result *= num2;
break;
case "/":
if (num2 != 0) {
result /= num2;
} else {
JOptionPane.showMessageDialog(this, "除数不能为零!");
return 0;
}
break;
}
display.setText(Double.toString(result));
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(this, "请输入数字!");
}
return 0; // 仅作示例,实际应用中此处应保留计算结果
}
public static void main(String[] args) {
new Calculator();
}
}
```
此代码展示了如何创建一个包含基本运算符按钮的简单计算器,点击按钮后会触发相应的计算逻辑。请注意,为了更完整的用户体验,你还可以添加更多的功能,如清除键、小数点等,以及错误处理机制。
阅读全文