java实现一个简单的计算器,前面是一个文本框(操作数1),后面是标签(操作符),再后面是一个文本框(操作数2),然后是一个"="按钮(JButton),最后是一个文本框(结果) (1)实现按钮ActionEvent事件的处理,点击等号获取计算结果,并显示在最后一个文本框; (2)实现第二个文本框的ActionEvent事件处理,在第二个文本框按回车,直接获得计算结果,并显示在最后一个文本框。(事件源为第二个文本框) (3)实现运算符标签的MouseEvent事件的处理,点击标签,可以更换标签的运算符,比如:将加号改成减号,从而实现减法功能,点击等号按钮,实现减法运算,并将结果显示在第三个文本框中。(具体实现:实现mouseClicked()时,判断鼠标单击次数是否为除4余0、余1、余2、余3,比如余为1,则将运算符标签上的字符修改为”-”,从而实现减法运算)
时间: 2024-02-29 08:52:24 浏览: 49
Java_用JAVA实现一个计算器_
5星 · 资源好评率100%
下面是Java实现的一个简单计算器,包含上述三个功能:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener, MouseListener {
private JTextField textField1, textField2, textField3;
private JButton button;
private JLabel operatorLabel;
private String operator;
public Calculator() {
super("简单计算器");
setLayout(new GridLayout(1, 5));
textField1 = new JTextField(5);
add(textField1);
operatorLabel = new JLabel("+");
operatorLabel.addMouseListener(this);
add(operatorLabel);
textField2 = new JTextField(5);
textField2.addActionListener(this);
add(textField2);
button = new JButton("=");
button.addActionListener(this);
add(button);
textField3 = new JTextField(5);
textField3.setEditable(false);
add(textField3);
operator = "+";
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button || e.getSource() == textField2) {
double num1 = Double.parseDouble(textField1.getText());
double num2 = Double.parseDouble(textField2.getText());
double result = 0;
if (operator.equals("+")) {
result = num1 + num2;
} else if (operator.equals("-")) {
result = num1 - num2;
} else if (operator.equals("*")) {
result = num1 * num2;
} else if (operator.equals("/")) {
result = num1 / num2;
} else {
// do nothing
}
textField3.setText(String.valueOf(result));
}
}
public void mouseClicked(MouseEvent e) {
int count = e.getClickCount();
int remainder = count % 4;
if (remainder == 1) {
operator = "-";
operatorLabel.setText("-");
} else if (remainder == 2) {
operator = "*";
operatorLabel.setText("*");
} else if (remainder == 3) {
operator = "/";
operatorLabel.setText("/");
} else {
operator = "+";
operatorLabel.setText("+");
}
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public static void main(String[] args) {
Calculator calculator = new Calculator();
calculator.setSize(400, 100);
calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
calculator.setVisible(true);
}
}
```
这个计算器界面很简单,包含一个操作数1的文本框、一个运算符标签、一个操作数2的文本框、一个等号按钮和一个结果文本框。在构造函数中,我们设置了布局为一行五列,将这些组件添加到了窗口中,并将默认的运算符设置为加号。
在`actionPerformed`方法中,我们对等号按钮和操作数2的文本框的事件进行了处理。首先获取操作数1和操作数2的值,然后根据当前的运算符计算结果,并将结果显示在结果文本框中。
在`mouseClicked`方法中,我们对运算符标签的鼠标单击事件进行了处理。根据鼠标单击次数的不同,我们更换运算符,并将运算符标签上的字符修改为相应的运算符。根据新的运算符,我们在下一次计算时使用相应的运算符进行计算。
这个计算器还有一些不足之处,比如对输入进行了简单的处理,没有考虑到输入错误的情况。但是这个计算器可以作为学习Java GUI编程的一个简单例子。
阅读全文