对于学习java的小伙伴们,为了验证自己的学习效果,往往需要编写一些小项目,简单的计算器,往往是大家一个不错的选择,这里就给出了一个计算器的实例。高手可别喷我哈!!

2、建立java工程:如图所示,建立自己的一个java工程,相信大家会建立了这个工程了吧;

2、建立构造方法:所谓构造方法就是,对自己的主类进行初始化,代码如下:private MyCaculator(){ jpt.setLayout(new BorderLayout()); jpt.add(jtf); this.add(jpt,BorderLayout.NORTH); jpb.setLayout(new GridLayout(4,4)); for(int i=0;i<jba.length;i++){ jpb.add(jba[i]); if(i==3||i==7||i==11||i==15||i==14) jba[i].addActionListener(new setOperate_Act()); else jba[i].addActionListener(new setLabel_Act()); } this.add(jpb,BorderLayout.CENTER); this.setSize(250, 200); this.setResizable(false); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

4、事件处理方法这里的时间处理方法,没有建立一个整体的方法,二是在为了便于处理的方法,将按钮事件分成两个部分,并采用两个子类来实现,这两个类时内部类要写在主类内部的,代码如下:class setOperate_Act implements ActionListener{ public void actionPerformed(ActionEvent e) { if(e.getSource()==jba[3]){ jtf.setText(add(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[7]){ jtf.setText(subtract(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[11]){ jtf.setText(multiply(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[15]){ jtf.setText(divide(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[14]){ jtf.setText(Equals(jtf.getText())); ifOp=true; } } } class setLabel_Act implements ActionListener{ public void actionPerformed(ActionEvent e) { Button tempb=(Button)e.getSource(); if(ifOp){ jtf.setText(tempb.getLabel()); ifOp=false; }else { jtf.setText(jtf.getText()+tempb.getLabel()); } } }

3:实现实例
1、编译运行:我们单击“编译运行”按钮,可出现我们的计算器界面;
