【Java】Java使用Swing模拟电脑计算器
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
以下是一个简化的Java Swing计算器示例,仅包含基本的加减乘除功能。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CalculatorGUI extends JFrame implements ActionListener {
private JTextField display;
private double total;
private double current;
private String operator;
private boolean start;
public CalculatorGUI() {
super("计算器");
start = true;
initUI();
}
private void initUI() {
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
display = new JTextField(20);
display.setEditable(false);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints(display, c);
add(display);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));
addButton("7", panel);
addButton("8", panel);
addButton("9", panel);
addButton("+", panel);
addButton("4", panel);
addButton("5", panel);
addButton("6", panel);
addButton("-", panel);
addButton("1", panel);
addButton("2", panel);
addButton("3", panel);
addButton("*", panel);
addButton("0", panel);
addButton(".", panel);
JButton equalButton = new JButton("=");
equalButton.setActionCommand("equal");
equalButton.addActionListener(this);
panel.add(equalButton);
addButton("/", panel);
c.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints(panel, c);
add(panel);
setSize(300, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void addButton(String label, Container panel) {
JButton button = new JButton(label);
button.addActionListener(this);
panel.add(button);
}
@Override
public void actionPerformed(ActionEvent event) {
String input = event.getActionCommand();
if (start) {
display.setText("");
start = false;
}
if (input.equals("+")) {
operator = input;
current = Double.parseDouble(display.getText());
} else if (input.equals("-")) {
operator = input;
评论已关闭