Java中使用Swing编写计算器的代码示例

原创|其它|编辑:郝浩|2009-09-22 11:18:12.000|阅读 1450 次

概述:本文介绍了Java中使用Swing编写计算器的代码示例。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  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 }


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:IT专家网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP