我想设计一个计算器,当我点击0—9时可以在一个文本区域显示出来,于是我就用text.setText("数字")显示出了0—9的数字然而我遇到的问题是当我点击下一个数字的时候前面的一个数字会被覆盖掉,请各位指点下如何当我点击按钮0—9时出现的是连续的数字:87697

解决方案 »

  1.   

    又遇到问题了 我在触发一个加法按钮之后就开始计算两个数之和 然后触发等于按钮输出结果  if(biaoji==1)//触发加法按钮
            {//start计算
                String Second=tex.getText();//获取文本内容
                int second=new Integer(Second).intValue();//将字符串转化位数字
                first=first+second;
                if(biaoji==4)//触发等于按钮
                    tex.setText(String.valueOf(first));//???
            }//end 计算
    但是结果不是我想象的那样点等于会出来结果,求高手指点!!!
      

  2.   

    你要利用API现在的方法想办法去解决你的问题
      

  3.   

    大家说的有道理!什么话都不说了 贴源码!
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class JSQ extends JFrame implements ActionListener{
        JTextField tex=new JTextField(10);
        JButton clean=new JButton("CE");
        int biaoji=0;
        int first,f;
        String []str={"7","8","9","+",
                       "4","5","6","-",
                       "1","2","3","*",
                       "0","+/-","=","/"};
        JButton []num=new JButton[16];
        JPanel pan1=new JPanel();
        JPanel pan2=new JPanel();
        JSQ(){
            super("计算器");
            
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            pan1.setLayout(new FlowLayout());
            pan1.add(clean);
            pan1.add(tex);
            
            pan2.setLayout(new GridLayout(4,4));
            for(int i=0;i<16;i++){
                num[i]=new JButton(str[i]);
                pan2.add(num[i]);
            }
            setLayout(new BorderLayout());
            getContentPane().add("North",pan1);
            getContentPane().add("Center",pan2);
            for(int j=0;j<16;j++){
                num[j].addActionListener(this);
            }
            clean.addActionListener(this);
            pack();
            setVisible(true);
            setResizable(false);
        }
        public void actionPerformed(ActionEvent ae) {
            if(ae.getSource()==clean)
            {
                first=0;
                biaoji=0;
                tex.setText(null);
            }//清空按钮
            
           for(int i=0;i<16;i++){
                if(ae.getSource()==num[i])
                {
                    if(i!=3&&i!=7&&i!=11&&i!=13&&i!=14&&i!=15)
                    {
                         tex.setText(tex.getText()+str[i]);
                    }
                }
              }//监控数字按钮
           if(biaoji==0)
           {
                String First=tex.getText();//获取文本内容
                first=new Integer(First).intValue();//将字符串转化位数字   
           }
            
            if(ae.getSource()==num[3])
            {
               biaoji=1;
               tex.setText(null);
            }//+的按钮
            if(biaoji==1&&ae.getSource()==num[14])
            {
               String Second=tex.getText();//获取文本内容
               int second=new Integer(Second).intValue();//将字符串转化位数字 
               first=first+second;
               tex.setText(String.valueOf(first));
            } 
    //下面解决减法的问题  
            
            if(ae.getSource()==num[7])
            {
                biaoji=2;
                tex.setText(null);
            }//-button
            if(biaoji==2&&ae.getSource()==num[14])
            {
                String Second=tex.getText();//获取文本内容
                int second=new Integer(Second).intValue();//将字符串转化位数字
                first=first-second;
                tex.setText(String.valueOf(first));
            }
    //下面解决乘法      
            
            if(ae.getSource()==num[11])
            {
                biaoji=3;
                tex.setText(null);
            }//*button
            if(biaoji==3&&ae.getSource()==num[14])
            {
                String Second=tex.getText();//获取文本内容
                int second=new Integer(Second).intValue();//将字符串转化位数字
                first=first*second;
                tex.setText(String.valueOf(first));//???
            }
     //下面解决除法       
            
            if(ae.getSource()==num[15])
            {
                biaoji=5;
                tex.setText(null);
            }// /button
            if(biaoji==5&&ae.getSource()==num[14])
            {
                String Second=tex.getText();//获取文本内容
                int second=new Integer(Second).intValue();//将字符串转化位数字
                first=first/second;
                tex.setText(String.valueOf(first));
            }  
        }
        public static void main(String[] args) {
            new JSQ();
        } 
    }