设计一个计算器窗口,其布局如下,尝试完成该计算器窗口的代码。 在这里插入图片描述 提示:在窗口的主面板(默认是BorderStyle)的North放一个JTextArea,Center放一个Jpanel,Jpanel可以指定它的布局方式为GridLayout,5行4列,放入相应的按钮就可以啦
时间: 2024-02-09 16:13:23 浏览: 59
好的,以下是一个简单的计算器窗口的代码,你可以参考一下:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CalculatorWindow extends JFrame implements ActionListener {
private JTextArea display;
private JPanel buttonPanel;
public CalculatorWindow() {
setTitle("计算器");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
// 创建主面板
JPanel mainPanel = new JPanel(new BorderLayout());
setContentPane(mainPanel);
// 在主面板的North区域添加文本框
display = new JTextArea(2, 20);
display.setEditable(false);
mainPanel.add(display, BorderLayout.NORTH);
// 在主面板的Center区域添加按钮面板
buttonPanel = new JPanel(new GridLayout(5, 4));
mainPanel.add(buttonPanel, BorderLayout.CENTER);
// 添加按钮到面板中
addButton("7");
addButton("8");
addButton("9");
addButton("/");
addButton("4");
addButton("5");
addButton("6");
addButton("*");
addButton("1");
addButton("2");
addButton("3");
addButton("-");
addButton("0");
addButton(".");
addButton("C");
addButton("+");
addButton("(");
addButton(")");
addButton("=");
addButton("←");
// 设置计算器窗口大小并居中显示
pack();
setLocationRelativeTo(null);
}
// 添加按钮到面板中
private void addButton(String label) {
JButton button = new JButton(label);
button.addActionListener(this);
buttonPanel.add(button);
}
// 处理按钮点击事件
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
switch(command) {
case "C":
display.setText("");
break;
case "←":
String text = display.getText();
if (text.length() > 0) {
display.setText(text.substring(0, text.length() - 1));
}
break;
case "=":
String expression = display.getText();
try {
double result = evaluate(expression);
display.setText(Double.toString(result));
} catch (Exception ex) {
display.setText("错误");
}
break;
default:
display.append(command);
break;
}
}
// 计算表达式的值
private double evaluate(String expression) throws Exception {
// TODO: 实现计算表达式的方法
return 0;
}
public static void main(String[] args) {
CalculatorWindow window = new CalculatorWindow();
window.setVisible(true);
}
}
```
这个计算器窗口使用了Java Swing库来构建,主要包括一个文本框和一个按钮面板。按钮面板使用了GridLayout布局,其中包含了数字、运算符、括号、清除和计算等按钮。通过实现ActionListener接口来处理按钮的点击事件,实现了简单的计算功能。需要注意的是,这个计算器窗口的evaluate方法还没有实现,需要根据实际需求来补充实现。
阅读全文