java算术计算机swing
时间: 2023-09-08 21:16:26 浏览: 35
您想要实现一个Java算术计算器并使用Swing进行用户界面设计,是吗?以下是一个简单的示例程序:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JLabel label;
private JTextField inputField;
private JButton addButton, subtractButton, multiplyButton, divideButton, calculateButton;
public Calculator() {
super("Java Calculator");
setLayout(new FlowLayout());
label = new JLabel("Enter an expression:");
add(label);
inputField = new JTextField(20);
add(inputField);
addButton = new JButton("+");
addButton.addActionListener(this);
add(addButton);
subtractButton = new JButton("-");
subtractButton.addActionListener(this);
add(subtractButton);
multiplyButton = new JButton("*");
multiplyButton.addActionListener(this);
add(multiplyButton);
divideButton = new JButton("/");
divideButton.addActionListener(this);
add(divideButton);
calculateButton = new JButton("Calculate");
calculateButton.addActionListener(this);
add(calculateButton);
}
public void actionPerformed(ActionEvent event) {
String input = inputField.getText();
double result = 0;
if (event.getSource() == addButton) {
result = Calculator.calculate(input, "+");
} else if (event.getSource() == subtractButton) {
result = Calculator.calculate(input, "-");
} else if (event.getSource() == multiplyButton) {
result = Calculator.calculate(input, "*");
} else if (event.getSource() == divideButton) {
result = Calculator.calculate(input, "/");
} else if (event.getSource() == calculateButton) {
result = Calculator.calculate(input, "");
}
JOptionPane.showMessageDialog(this, "Result: " + result);
}
public static double calculate(String input, String operator) {
String[] operands = input.split("\\" + operator);
if (operands.length != 2) {
JOptionPane.showMessageDialog(null, "Invalid input!");
return 0;
}
double operand1 = Double.parseDouble(operands[0]);
double operand2 = Double.parseDouble(operands[1]);
if (operator.equals("+")) {
return operand1 + operand2;
} else if (operator.equals("-")) {
return operand1 - operand2;
} else if (operator.equals("*")) {
return operand1 * operand2;
} else if (operator.equals("/")) {
return operand1 / operand2;
} else {
JOptionPane.showMessageDialog(null, "Invalid operator!");
return 0;
}
}
public static void main(String[] args) {
Calculator calculator = new Calculator();
calculator.setSize(300, 120);
calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
calculator.setVisible(true);
}
}
```
在这个示例程序中,我们使用了JFrame和JButton等Swing组件来创建一个简单的用户界面。我们还使用了ActionListener接口来处理按钮点击事件,并在calculate方法中执行实际的算术计算。最后,我们使用JOptionPane来显示结果。
您可以根据自己的需求修改此示例程序,以创建更复杂的计算器。