程序实现的功能:
设计一个简易计算器,在“操作数”标签右侧的两个文本框中输入操作数,当单击“+,-,*,/”按钮时,对两个操作数进行运算并将结果填入到“结果”标签右侧的文本框中。
package lpt;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
class SimpleCalculator extends JFrame implements ActionListener {
JLabel lb1,lb2,lb3;
JButton bt1,bt2,bt3,bt4;
JTextField jtf1,jtf2,jtf3;
public SimpleCalculator(){
lb1=new JLabel("操作数:");
lb2=new JLabel("操作数:");
lb3=new JLabel(" 结 果 :");
bt1=new JButton("+");
bt2=new JButton("-");
bt3=new JButton("*");
bt4=new JButton("/");
bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
bt4.addActionListener(this);
jtf1=new JTextField(15);
jtf2=new JTextField(15);
jtf3=new JTextField(15);
jtf1.addActionListener(this);
jtf2.addActionListener(this);
jtf3.addActionListener(this);
setTitle("简易计算器");
setBounds(500,200,400,250);
setVisible(true);
setResizable(false);
Container con=getContentPane();
con.setLayout(null);
lb1.setBounds(60, 50, 55, 35);
lb2.setBounds(60, 80, 55, 35);
lb3.setBounds(60, 110, 55, 35);
jtf1.setBounds(110, 55, 148, 28);
jtf2.setBounds(110, 85, 148, 28);
jtf3.setBounds(110, 115, 148, 28);
bt1.setBounds(268, 41, 50, 30);
bt2.setBounds(268, 71, 50, 30);
bt3.setBounds(268, 101, 50, 30);
bt4.setBounds(268, 131, 50, 30);
con.add(lb1);
con.add(jtf1);
con.add(bt1);
con.add(lb2);
con.add(jtf2);
con.add(bt2);
con.add(lb3);
con.add(jtf3);
con.add(bt3);
con.add(bt4);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
double sum=0;
//加法
if(e.getSource()==bt1){
System.out.println("+");
if (("".equals(jtf1.getText()))||("".equals(jtf2.getText()))) {
jtf3.setText("操作数不能为空");
}else {
try {
sum = Integer.parseInt(jtf1.getText()) + Integer.parseInt(jtf2.getText());
jtf3.setText(sum+"");
} catch (NumberFormatException e2) {
// TODO: handle exception
jtf3.setText("操作数只能是整数!");
}
}
}
//减法
if(e.getSource()==bt2){
System.out.println("-");
if (("".equals(jtf1.getText()))||("".equals(jtf2.getText()))) {
jtf3.setText("操作数不能为空");
}else {
try {
sum = Integer.parseInt(jtf1.getText()) - Integer.parseInt(jtf2.getText());
jtf3.setText(sum+"");
} catch (NumberFormatException e2) {
// TODO: handle exception
jtf3.setText("操作数只能是整数!");
}
}
}
//乘法
if(e.getSource()==bt3){
System.out.println("x");
if (("".equals(jtf1.getText()))||("".equals(jtf2.getText()))) {
jtf3.setText("操作数不能为空");
}else {
try {
sum = Integer.parseInt(jtf1.getText()) * Integer.parseInt(jtf2.getText());
jtf3.setText(sum+"");
} catch (NumberFormatException e2) {
// TODO: handle exception
jtf3.setText("操作数只能是整数!");
}
}
}
//除法
if(e.getSource()==bt4){
System.out.println("÷");
if (("".equals(jtf1.getText()))||("".equals(jtf2.getText()))) {
jtf3.setText("操作数不能为空");
}else {
try {
sum = Integer.parseInt(jtf1.getText()) / Integer.parseInt(jtf2.getText());
jtf3.setText(sum+"");
} catch (NumberFormatException e2) {
// TODO: handle exception
jtf3.setText("操作数只能是整数!");
} catch (ArithmeticException e3) {
// TODO: handle exception
jtf3.setText("被除数不能为零!");
}
}
}
}
}
public class Test8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
new SimpleCalculator();
}
}