日期:2014-05-20  浏览次数:20799 次

刚学java 要求做简单的计算器 重置 不是很好用哦 帮忙啦~
当只输入   一个操作数的时候   重置   失效
需要输入两个操作数   才可以
不明白   所以……
谢谢%
import   java.awt.*;
import   java.awt.event.*;
public   class   keke   extends   Frame   implements   ActionListener
{  

  Button   a1,a2,a3,a4,a5;
TextField   text1,text2,text3;
Double   a,b;
Frame   f1;
   
keke()
{

f1=new   Frame( "简单计算器 ");
f1.setSize(200,200);
f1.setVisible(true);

          Panel   pan=new   Panel();
          pan.setBackground(Color.cyan);
         
          Panel   pan2=new   Panel();
          pan2.setBackground(Color.blue);

          setLayout(new   BorderLayout());
          f1.add( "Center ",pan);
          f1.add( "East ",pan2);
         
          Label   la=new   Label( "操作数 ");
          text1=new   TextField(5);
          text1.getText();
          Label   lb=new   Label( "操作数 ");
          text2=new   TextField(5);
          text2.getText();
          Label   lc=new   Label( "结果 ");
          text3=new   TextField(5);
        //   text3.setEditable(false);
          a1=new   Button   ( "+ ");
          a2=new   Button   ( "- ");
          a3=new   Button   ( "* ");
          a4=new   Button   ( "/ ");
          a5=new   Button   ( "重置 ");
 


    pan.setLayout(new   GridLayout(3,2));
    pan.add(la);
    pan.add(text1);
    pan.add(lb);
    pan.add(text2);
    pan.add(lc);
    pan.add(text3);
    pan2.setLayout(new   GridLayout(5,1));
    pan2.add(a1);
    pan2.add(a2);
    pan2.add(a3);
    pan2.add(a4);
    pan2.add(a5);

  a1.addActionListener(this);
  a2.addActionListener(this);
  a3.addActionListener(this);
  a4.addActionListener(this);
  a5.addActionListener(this);

 
   
   
   
 


pack();


       
     


       
}        
public   void   actionPerformed(ActionEvent   e)

{
  a=Double.valueOf(text1.getText()).doubleValue();
  b=Double.valueOf(text2.getText()).doubleValue();
   
   
     
        if(e.getSource()==a1)
            {text3.setText(String.valueOf(a+b));}