这个计算器可以使用Java Swing来实现。
首先,需要创建一个JFrame窗口来放置计算器的各个组件。然后,在窗口中添加一些按钮和文本框,用于输入和显示数字和运算符。最后,需要为每个按钮添加事件监听器,以便在用户点击按钮时执行相应的操作。
下面是一个简单的示例代码,可以作为参考:
import java.awt.; import java.awt.event.; import javax.swing.*;
public class Calculator {
private JFrame frame;
private JTextField textField;
public Calculator() {
initialize();
}
private void initialize() {
frame = new JFrame("Calculator");
frame.setBounds(100, 100, 250, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridLayout(4, 4, 5, 5));
textField = new JTextField(10);
textField.setEditable(false);
JButton btn1 = new JButton("1");
JButton btn2 = new JButton("2");
JButton btn3 = new JButton("3");
JButton btnAdd = new JButton("+");
JButton btn4 = new JButton("4");
JButton btn5 = new JButton("5");
JButton btn6 = new JButton("6");
JButton btnSubtract = new JButton("-");
JButton btn7 = new JButton("7");
JButton btn8 = new JButton("8");
JButton btn9 = new JButton("9");
JButton btnMultiply= new JButto("*");
JButton btnCancel= new JButto ("C");
JButton btndivide=JButton("/");
JButton btnequal=new JButto("=");
panel.add(btnCancel);
panel.add(btndivide);
panel.add(btnMultiply);
panel.add(btnSubtract);
panel.add(btn7);
panel.add(btn8);
panel.add(btn9);
panel.add(btnequal);
panel.add(btn4);
panel.add(btn5);
panel.add(btn6);
panel.add(btndivide);
panel.add(btn1);
panel.add(btn2);
panel.add(btn3);
frame.getContentPane().add(textField, BorderLayout.NORTH);
frame.getContentPane().add(panel, BorderLayout.CENTER);
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if ("0123456789".indexOf(cmd) != -1) {
textField.setText(textField.getText() + cmd);
} else if (cmd.equals("+")) {
// add
} else if (cmd.equals("-")) {
// subtract
} else if (cmd.equals("*")) {
//multiply
} else if (cmd.equals("/")){
//divide
}else if(cmd.equals("C")){
//clear
} else if (cmd.equals("=")) {
// evaluate expression and display result
}
}
};
btn1.addActionListener(listener);
btn2.addActionListener(listener);
btn3.addActionListener(listener);
btn4.addActionListener(listener);
btn5.addActionListener(listener);
btn6.addActionListener(listener);
btn7.addActionListener(listener);
btn8.addActionListener(listener);
btn9.addActionListener(listener);
JButton0. addActionListener( listerner );
JButtonAdd. addActionListener( listerner );
JButtonSubstract. addActionListener( listerner );
JButtonMultiply. addActionListener( listerner );
btndivide.addActionListenr(listnerer)
btnequal.addActionListenr(listnerer)
frame.setVisible(true);
}
public static void main(String[] args) {
Calculator calc = new Calculator();
}
}
在上面的示例代码中,我们使用了GridLayout布局来创建一个4行4列的按钮网格。每个按钮都有一个ActionListener对象,用于处理用户点击事件。当用户点击数字按钮时,对应的数字将被追加到文本框中。当用户点击运算符按钮时,计算器应该执行相应的操作,并显示结果。
需要注意的是,在实现这个计算器时还需要考虑一些边界情况和错误处理,例如除数为0等情况。此外,还可以添加更多功能,例如小数点、正负号、括号等。