编写一个应用程序,设计4个按钮,分别命名为“加”、“减”、“乘”、“除”,有3个文本框和两个标签。单击相应的按钮,将两个文本框的数字做运算,在第三个文本框中显示结果。运行界面如下图所示。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame{
private JLabel label1,label2,label3;
private JTextField TextField1=new JTextField(15);
private JTextField TextField2=new JTextField(15);
private JTextField TextField3=new JTextField(15);
private JButton bt1,bt2,bt3,bt4;
public Calculator() {
super("Calculator");
Container container=getContentPane();
container.setLayout(new FlowLayout());
label1=new JLabel("请输入两个数");
label2=new JLabel(" ");
label3=new JLabel("=");
TextField3.setEditable(false);
bt1=new JButton("+");
bt1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {
label2.setText("+");
double a=Double.parseDouble(TextField1.getText());
double b=Double.parseDouble(TextField2.getText());
double c=a+b;
String s3=""+c;
TextField3.setText(s3);
}
});
bt2=new JButton("-");
bt2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
label2.setText("-");
double a=Double.parseDouble(TextField1.getText());
double b=Double.parseDouble(TextField2.getText());
double c=a-b;
String s3=""+c;
TextField3.setText(s3);
}
});
bt3=new JButton("*");
bt3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
label2.setText("*");
double a=Double.parseDouble(TextField1.getText());
double b=Double.parseDouble(TextField2.getText());
double c=a*b;
String s3=""+c;
TextField3.setText(s3);
}
});
bt4=new JButton("/");
bt4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
label2.setText("/");
double a=Double.parseDouble(TextField1.getText());
double b=Double.parseDouble(TextField2.getText());
if(b==0) {
TextField3.setText("Wrong!");
}
double c=a/b;
String s3=""+c;
TextField3.setText(s3);
}
});
container.add(label1);
container.add(TextField1);
container.add(label2);
container.add(TextField2);
container.add(label3);
container.add(TextField3);
container.add(bt1);
container.add(bt2);
container.add(bt3);
container.add(bt4);
setSize(650,400);
setVisible(true);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class CalculatorMain {
public static void main (String args[]) {
Calculator calculator=new Calculator();
}
}
小结:
我认为这里应该可以有更好的操作方式而不是每一Button都写一次具体的操作方法,应该可以通过函数或其他方式写一次多次调用来解决。以后可以修改,暂定这样。