当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
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 }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved