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 } |