写一个可以进行简单计算的计算器界面的java代码
时间: 2024-03-27 22:35:20 浏览: 12
以下是一个简单的计算器界面的Java代码示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField display;
private JButton buttons[];
private String operator = "";
private double result = 0;
public Calculator() {
super("Calculator");
display = new JTextField(20);
display.setEditable(false);
display.setHorizontalAlignment(JTextField.RIGHT);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 4, 5, 5));
buttons = new JButton[16];
for (int i = 0; i < buttons.length; i++) {
buttons[i] = new JButton();
buttons[i].addActionListener(this);
panel.add(buttons[i]);
}
buttons[0].setText("7");
buttons[1].setText("8");
buttons[2].setText("9");
buttons[3].setText("/");
buttons[4].setText("4");
buttons[5].setText("5");
buttons[6].setText("6");
buttons[7].setText("*");
buttons[8].setText("1");
buttons[9].setText("2");
buttons[10].setText("3");
buttons[11].setText("-");
buttons[12].setText("0");
buttons[13].setText(".");
buttons[14].setText("=");
buttons[15].setText("+");
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
contentPane.add(display, BorderLayout.NORTH);
contentPane.add(panel, BorderLayout.CENTER);
setContentPane(contentPane);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttons[0]) {
display.setText(display.getText() + "7");
} else if (e.getSource() == buttons[1]) {
display.setText(display.getText() + "8");
} else if (e.getSource() == buttons[2]) {
display.setText(display.getText() + "9");
} else if (e.getSource() == buttons[3]) {
operator = "/";
result = Double.parseDouble(display.getText());
display.setText("");
} else if (e.getSource() == buttons[4]) {
display.setText(display.getText() + "4");
} else if (e.getSource() == buttons[5]) {
display.setText(display.getText() + "5");
} else if (e.getSource() == buttons[6]) {
display.setText(display.getText() + "6");
} else if (e.getSource() == buttons[7]) {
operator = "*";
result = Double.parseDouble(display.getText());
display.setText("");
} else if (e.getSource() == buttons[8]) {
display.setText(display.getText() + "1");
} else if (e.getSource() == buttons[9]) {
display.setText(display.getText() + "2");
} else if (e.getSource() == buttons[10]) {
display.setText(display.getText() + "3");
} else if (e.getSource() == buttons[11]) {
operator = "-";
result = Double.parseDouble(display.getText());
display.setText("");
} else if (e.getSource() == buttons[12]) {
display.setText(display.getText() + "0");
} else if (e.getSource() == buttons[13]) {
display.setText(display.getText() + ".");
} else if (e.getSource() == buttons[14]) {
if (operator.equals("+")) {
result += Double.parseDouble(display.getText());
} else if (operator.equals("-")) {
result -= Double.parseDouble(display.getText());
} else if (operator.equals("*")) {
result *= Double.parseDouble(display.getText());
} else if (operator.equals("/")) {
result /= Double.parseDouble(display.getText());
} else {
result = Double.parseDouble(display.getText());
}
display.setText("" + result);
operator = "";
} else if (e.getSource() == buttons[15]) {
operator = "+";
result = Double.parseDouble(display.getText());
display.setText("");
}
}
public static void main(String[] args) {
Calculator calc = new Calculator();
calc.setVisible(true);
}
}
```
这个示例代码使用了JFrame和JPanel类来创建基本的计算器界面,使用了GridLayout布局将按钮放置在一个4x4的网格中。每个按钮都有一个ActionListener,点击时会执行相应的操作。在操作过程中,每个数字都会显示在JTextField中,而每个操作符和结果都存储在相应的变量中。最后,点击“=”按钮时,将执行所选的操作并在JTextField中显示结果。