java gui编程 计算器_Matlab-GUI编程:简单计算器的实现
时间: 2024-03-18 10:41:07 浏览: 15
对于Java GUI编程实现计算器,你可以使用Swing和AWT这两种Java GUI工具包之一。
以下是一个简单的Java GUI计算器的实现示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JButton[] numberButtons;
private JButton[] operatorButtons;
private JButton clearButton, equalsButton, decimalButton;
private JTextField textField;
private double num1 = 0, num2 = 0, result = 0;
private char operator;
public Calculator() {
setTitle("Calculator");
// Create the number buttons
numberButtons = new JButton[10];
for (int i = 0; i < 10; i++) {
numberButtons[i] = new JButton(String.valueOf(i));
}
// Create the operator buttons
operatorButtons = new JButton[4];
operatorButtons[0] = new JButton("+");
operatorButtons[1] = new JButton("-");
operatorButtons[2] = new JButton("*");
operatorButtons[3] = new JButton("/");
// Create the clear, equals, and decimal buttons
clearButton = new JButton("C");
equalsButton = new JButton("=");
decimalButton = new JButton(".");
// Create the text field
textField = new JTextField(10);
textField.setEditable(false);
// Set the layout manager and add the components
setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = 0;
gc.gridy = 0;
gc.gridwidth = 4;
add(textField, gc);
gc.gridwidth = 1;
gc.gridy = 1;
for (int i = 0; i < 10; i++) {
gc.gridx = i % 3;
gc.gridy = i / 3 + 2;
add(numberButtons[i], gc);
numberButtons[i].addActionListener(this);
}
gc.gridx = 0;
gc.gridy = 5;
add(operatorButtons[0], gc);
operatorButtons[0].addActionListener(this);
gc.gridx = 1;
add(operatorButtons[1], gc);
operatorButtons[1].addActionListener(this);
gc.gridx = 2;
add(operatorButtons[2], gc);
operatorButtons[2].addActionListener(this);
gc.gridx = 3;
add(operatorButtons[3], gc);
operatorButtons[3].addActionListener(this);
gc.gridx = 0;
gc.gridy = 6;
add(clearButton, gc);
clearButton.addActionListener(this);
gc.gridx = 1;
add(equalsButton, gc);
equalsButton.addActionListener(this);
gc.gridx = 2;
add(decimalButton, gc);
decimalButton.addActionListener(this);
setSize(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < 10; i++) {
if (e.getSource() == numberButtons[i]) {
textField.setText(textField.getText() + i);
}
}
if (e.getSource() == decimalButton) {
textField.setText(textField.getText() + ".");
}
if (e.getSource() == clearButton) {
textField.setText("");
num1 = 0;
num2 = 0;
result = 0;
operator = ' ';
}
if (e.getSource() == operatorButtons[0]) {
num1 = Double.parseDouble(textField.getText());
operator = '+';
textField.setText("");
}
if (e.getSource() == operatorButtons[1]) {
num1 = Double.parseDouble(textField.getText());
operator = '-';
textField.setText("");
}
if (e.getSource() == operatorButtons[2]) {
num1 = Double.parseDouble(textField.getText());
operator = '*';
textField.setText("");
}
if (e.getSource() == operatorButtons[3]) {
num1 = Double.parseDouble(textField.getText());
operator = '/';
textField.setText("");
}
if (e.getSource() == equalsButton) {
num2 = Double.parseDouble(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(Double.toString(result));
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
这个示例应该可以实现一个简单的Java GUI计算器。