double calc( double first,double seconde,string symbol){
switch(symbol){
case "+":
return first+second;
case ....
}
窗体中放入相应的组件再设置布局
等我给你实现
package csdn005;
import javax.swing.*;
import java.awt.*;
import java.util.concurrent.atomic.AtomicReference;
public class JiSuanQi extends JFrame {
public static void main(String[] args) {
new JiSuanQi();
}
public JiSuanQi() {
super("计算器");
JPanel jPanel = new JPanel();
JTextField number1 = new JTextField();
number1.setColumns(5);
Choice mChoice = new Choice();
mChoice.setBounds(80, 0, 30, 9);
mChoice.add("+");
mChoice.add("-");
mChoice.add("*");
mChoice.add("/");
AtomicReference<String> selectItem = new AtomicReference<>("+");
mChoice.addItemListener(e -> {
selectItem.set(mChoice.getSelectedItem());
System.out.println("打印选择项:"+mChoice.getSelectedItem());
});
JTextField number2 = new JTextField();
number2.setColumns(5);
JLabel jLabel = new JLabel("=");
JTextField result = new JTextField();
result.setColumns(5);
JButton jiSuan = new JButton("计算");
jiSuan.addActionListener(e -> {
// 获取 number1 的值
String num1 = number1.getText();
String num2 = number2.getText();
String s = selectItem.get();
switch (s) {
case "+":
result.setText(Double.parseDouble(num1) + Double.parseDouble(num2) + "");
break;
case "-":
result.setText(Double.parseDouble(num1) - Double.parseDouble(num2) + "");
break;
case "*":
result.setText(Double.parseDouble(num1) * Double.parseDouble(num2) + "");
break;
case "/":
result.setText(Double.parseDouble(num1) / Double.parseDouble(num2) + "");
break;
default:
}
});
JButton clear = new JButton("清空结果");
clear.addActionListener(e -> {
number1.setText("");
number2.setText("");
result.setText("");
});
JCheckBox ck = new JCheckBox("结果取整");
ck.addActionListener(e -> {
result.setText(result.getText().substring(0,result.getText().indexOf(".")));
});
clear.setBounds(400,0,50,20);
jPanel.add(number1);
jPanel.add(mChoice);
jPanel.add(number2);
jPanel.add(jLabel);
jPanel.add(result);
jPanel.add(jiSuan);
jPanel.add(clear);
jPanel.add(ck);
this.add(jPanel);
this.setBounds(700,400,400,200);
this.setVisible(true);
setLocationRelativeTo(null);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}