程序本来运行只是一个单纯的计算器,谁能帮我在程序的右下角多添一行文本如下效果:
原代码
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class jisuanqi extends Applet implements ActionListener
{
   public TextField text;
   public Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;
   public Panel panel1,panel2,panel3,panel4;
   double sum=0;
   String op="+";
    boolean start=true;
   
   public void init()
   {
      text=new TextField("");
      b1=new Button("1");b2=new Button("2");b3=new Button("3");b4=new Button("4");
      b5=new Button("5");b6=new Button("6");b7=new Button("7");b8=new Button("8");
      b9=new Button("9");b10=new Button("0");b11=new Button(".");
      b12=new Button("+");b13=new Button("-");b14=new Button("*");
      b15=new Button("/");b16=new Button("=");b17=new Button("c");
      panel1=new Panel(new GridLayout(1,4,10,10));
      panel2=new Panel(new GridLayout(1,4,10,10));
      panel3=new Panel(new GridLayout(1,4,10,10));
      panel4=new Panel(new GridLayout(1,4,10,10));
        
       setLayout(new GridLayout(6,1,10,10));
       panel1.add(b7);panel1.add(b8);panel1.add(b9);panel1.add(b15);
       panel2.add(b4);panel2.add(b5);panel2.add(b6);panel2.add(b14);
       panel3.add(b1);panel3.add(b2);panel3.add(b3);panel3.add(b13);
       panel4.add(b10);panel4.add(b11);panel4.add(b16);panel4.add(b12);
       add(text);add(b17);add(panel1);add(panel2);add(panel3);add(panel4);
       b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);
       b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);
       b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);
       b10.addActionListener(this);b11.addActionListener(this);b12.addActionListener(this);
       b13.addActionListener(this);b14.addActionListener(this);b15.addActionListener(this);
       b16.addActionListener(this);b17.addActionListener(this);
       
     }
      
     public void actionPerformed(ActionEvent e)
     {
       String s=e.getActionCommand();
       
       if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.charAt(0)=='.')
       {    if(start)  {text.setText(s); start=false;}
             else text.setText(text.getText()+s);
       }
        else
        {  
           if(s=="c")
             {
             }
           else
           {
           
           calculate(new Double(text.getText()).doubleValue());
             op=s;
            start=true;
           }
         }   
     
     }
      
     public void calculate(double n)
     {
      if(op=="+")  sum=sum+n;
      if(op=="-")    sum=sum-n;
      if(op=="*")   sum=sum*n;
      if(op=="/")    sum=sum/n;  
      if(op=="=")   sum=sum+0;
      text.setText(""+sum);
     } 
      
}

解决方案 »

  1.   

    import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;import javax.swing.JLabel;public class jisuanqi extends Applet implements ActionListener {
    public TextField text; public Button b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14,
    b15, b16, b17; public Panel panel1, panel2, panel3,panel4 ,panel5 ; public JLabel l1; double sum = 0; String op = "+"; boolean start = true; public void init() {
    text = new TextField("");
    b1 = new Button("1");
    b2 = new Button("2");
    b3 = new Button("3");
    b4 = new Button("4");
    b5 = new Button("5");
    b6 = new Button("6");
    b7 = new Button("7");
    b8 = new Button("8");
    b9 = new Button("9");
    b10 = new Button("0");
    b11 = new Button(".");
    b12 = new Button("+");
    b13 = new Button("-");
    b14 = new Button("*");
    b15 = new Button("/");
    b16 = new Button("=");
    b17 = new Button("c");
    panel1 = new Panel(new GridLayout(1, 4, 10, 10));
    panel2 = new Panel(new GridLayout(1, 4, 10, 10));
    panel3 = new Panel(new GridLayout(1, 4, 10, 10));
    panel4 = new Panel(new GridLayout(1, 4, 10, 10));
    panel5 = new Panel(new BorderLayout());
    l1 = new JLabel("这是课本274页4.4题"); setLayout(new GridLayout(7, 1, 10, 10));
    panel1.add(b7);
    panel1.add(b8);
    panel1.add(b9);
    panel1.add(b15);
    panel2.add(b4);
    panel2.add(b5);
    panel2.add(b6);
    panel2.add(b14);
    panel3.add(b1);
    panel3.add(b2);
    panel3.add(b3);
    panel3.add(b13);
    panel4.add(b10);
    panel4.add(b11);
    panel4.add(b16);
    panel4.add(b12);

    panel5.add(l1,BorderLayout.EAST);
     
    add(text);
    add(b17);
    add(panel1);
    add(panel2);
    add(panel3);
    add(panel4);
    add(panel5);

    b1.addActionListener(this);
    b2.addActionListener(this);
    b3.addActionListener(this);
    b4.addActionListener(this);
    b5.addActionListener(this);
    b6.addActionListener(this);
    b7.addActionListener(this);
    b8.addActionListener(this);
    b9.addActionListener(this);
    b10.addActionListener(this);
    b11.addActionListener(this);
    b12.addActionListener(this);
    b13.addActionListener(this);
    b14.addActionListener(this);
    b15.addActionListener(this);
    b16.addActionListener(this);
    b17.addActionListener(this); } public void actionPerformed(ActionEvent e) {
    String s = e.getActionCommand(); if ('0' <= s.charAt(0) && s.charAt(0) <= '9' || s.charAt(0) == '.') {
    if (start) {
    text.setText(s);
    start = false;
    } else
    text.setText(text.getText() + s);
    } else {
    if (s == "c") {
    } else { calculate(new Double(text.getText()).doubleValue());
    op = s;
    start = true;
    }
    } } public void calculate(double n) {
    if (op == "+")
    sum = sum + n;
    if (op == "-")
    sum = sum - n;
    if (op == "*")
    sum = sum * n;
    if (op == "/")
    sum = sum / n;
    if (op == "=")
    sum = sum + 0;
    text.setText("" + sum);
    }}
      

  2.   

    加几行就行
    JPanel panel5 = new JPanel(new GridLayout(1, 2, 10, 10));
    JLabel label = new JLabel("这是课本274页4.4题");
    label.setHorizontalAlignment(JLabel.RIGHT ); 
    panel5.add(label);
    .
    .
    .
    add(panel5);
    其实楼主可以尝试使用拖拽式的Swing界面编程,那样布局方便很多,试试NetBeans吧:)
      

  3.   


    import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;
    public class jisuanqi extends Applet implements ActionListener
    {
       public Label text1;
       public TextField text;
       public Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;
       public Panel panel1,panel2,panel3,panel4;
       double sum=0;
       String op="+";
        boolean start=true;
       
       public void init()
       {
          text=new TextField("");     
          b1=new Button("1");b2=new Button("2");b3=new Button("3");b4=new Button("4");
          b5=new Button("5");b6=new Button("6");b7=new Button("7");b8=new Button("8");
          b9=new Button("9");b10=new Button("0");b11=new Button(".");
          b12=new Button("+");b13=new Button("-");b14=new Button("*");
          b15=new Button("/");b16=new Button("=");b17=new Button("c");
          panel1=new Panel(new GridLayout(1,4,10,10));
          panel2=new Panel(new GridLayout(1,4,10,10));
          panel3=new Panel(new GridLayout(1,4,10,10));
          panel4=new Panel(new GridLayout(1,4,10,10));
          text1=new Label("这是课本274页4.4题");
          text1.setAlignment(2);       setLayout(new GridLayout(7,1,10,10));
           panel1.add(b7);panel1.add(b8);panel1.add(b9);panel1.add(b15);
           panel2.add(b4);panel2.add(b5);panel2.add(b6);panel2.add(b14);
           panel3.add(b1);panel3.add(b2);panel3.add(b3);panel3.add(b13);
           panel4.add(b10);panel4.add(b11);panel4.add(b16);panel4.add(b12);
           add(text);add(b17);add(panel1);add(panel2);add(panel3);add(panel4); add(text1);
           b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);
           b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);
           b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);
           b10.addActionListener(this);b11.addActionListener(this);b12.addActionListener(this);
           b13.addActionListener(this);b14.addActionListener(this);b15.addActionListener(this);
           b16.addActionListener(this);b17.addActionListener(this);
         }
          
         public void actionPerformed(ActionEvent e)
         {
           String s=e.getActionCommand();
           
           if('0'<=s.charAt(0)&&s.charAt(0)<='9'||s.charAt(0)=='.')
           {    if(start)  {text.setText(s); start=false;}
                 else text.setText(text.getText()+s);
           }
            else
            {  
               if(s=="c")
                 {
                 }
               else
               {
               
               calculate(new Double(text.getText()).doubleValue());
                 op=s;
                start=true;
               }
             }   
         
         }
          
         public void calculate(double n)
         {
          if(op=="+")  sum=sum+n;
          if(op=="-")    sum=sum-n;
          if(op=="*")   sum=sum*n;
          if(op=="/")    sum=sum/n;  
          if(op=="=")   sum=sum+0;
          text.setText(""+sum);
         }