Swing简单的计算器
发布时间:2010/11/11 11:29:43 来源:城市学习网 编辑:ziteng
1 import java.awt.event.ActionEvent;
2 import java.awt.event.ActionListener;
3 import java.awt.Container;
4 import java.awt.FlowLayout;
5 import javax.swing.JFrame;
6 import javax.swing.JTextField;
7 import javax.swing.JButton;
8 public class Computer {
9
10 /**
11 * @param args
12 */
13 private static int numClicks=0;
14 public static void main(String[] args) {
15 // TODO Auto-generated method stub
16 final JFrame jf=new JFrame("计算器");
17 final Container c=jf.getContentPane();
18 c.setLayout(new FlowLayout(FlowLayout.CENTER));
19 final JTextField f1=new JTextField(4);
20 final JTextField f2=new JTextField(4);
21 final JTextField f3=new JTextField(4);
22 final JButton b1=new JButton("+");//内部类如果要使用外部类的变量,必须使用final修饰符
23 final JButton b2=new JButton("=");
24 b1.addActionListener(new ActionListener(){
25 public void actionPerformed(ActionEvent e)
26 {
27 numClicks++;
28 switch(numClicks%4)
29 {
30 case 0:b1.setText("+");break;
31 case 1:b1.setText("-");break;
32 case 2:b1.setText("*");break;
33 case 3:b1.setText("/");break;
34 }
35 }
36 });
37 b2.addActionListener(new ActionListener(){
38 public void actionPerformed(ActionEvent e)
39 {
40 int n1=Integer.parseInt(f1.getText());
41 int n2=Integer.parseInt(f2.getText());
42 int n3=n1+n2;
43 switch(numClicks%4)
44 {
45 case 0:n3=n1+n2;break;
46 case 1:n3=n1-n2;break;
47 case 2:n3=n1*n2;break;
48 case 3:n3=n1/n2;break;
49 }
50 f3.setText(String.valueOf(n3));
51 }
52 });
53 c.add(f1);
54 c.add(b1);
55 c.add(f2);
56 c.add(b2);
57 c.add(f3);
58 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
59 jf.setSize(400, 80);
60 jf.setVisible(true);
61 }
62 }