程序如下:
 package 计数器;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */
class buju extends JFrame {
    JTextField outputNumber;
    JButton button[];     buju()
    {
     super("计数器");
     outputNumber=new JTextField("0",10);
     String str=new String("789+456-123*0=/");
     char ch[]=str.toCharArray();
     for(int i=0;i<ch.length;i++)
        button[i]=new JButton(""+ch[i]);
     Box box1=Box.createHorizontalBox();
     box1.add(outputNumber);
     Box box2=Box.createHorizontalBox();
     box2.add(button[0]);
     box2.add(button[1]);
     box2.add(button[2]);
     box2.add(button[3]);
     Box box3=Box.createHorizontalBox();
     box3.add(button[4]);
     box3.add(button[5]);
     box3.add(button[6]);
     box3.add(button[7]);
     Box box4=Box.createHorizontalBox();
     box4.add(button[8]);
     box4.add(button[9]);
     box4.add(button[10]);
     box4.add(button[11]);
     Box box5=Box.createHorizontalBox();
     box5.add(button[12]);
     box5.add(button[13]);
     box5.add(button[14]);
     Box baseBox=Box.createVerticalBox();
     baseBox.add(box1);
     baseBox.add(box2);
     baseBox.add(box3);
     baseBox.add(box4);
     baseBox.add(box5);
     Container con=getContentPane();
     con.setLayout(new FlowLayout());
     con.add(baseBox);
     con.validate();
     setBounds(120,150,270,200);
     setVisible(true);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     setVisible(true);
     validate();    }
  }public  class jsq
   {
    public static void main(String[] args)
    {
      buju hh=new buju();
    }
  }

解决方案 »

  1.   

    我运行你的能找到mian class,
    只是你的button[]没有初始化,要在循环赋值的前面加 button=new JButton[ch.length];
      

  2.   

    楼上正确。
         super("Calculator");
         outputNumber=new JTextField("0",10);
         String str=new String("789+456-123*0=/");
         char ch[]=str.toCharArray();
         button = new JButton[ch.length];
      

  3.   

    我改了后还是不行啊
    我用的是JBuilder6
    有没有什么关系啊?
    提示java.lang.NoClassDefFoundError
      

  4.   

    在for循环前面加上这句
    button = new JButton[ch.length];super("计数器");
         outputNumber=new JTextField("0",10);
         String str=new String("789+456-123*0=/");
         char ch[]=str.toCharArray();
         button = new JButton[ch.length];
         for(int i=0;i<ch.length;i++)
            button[i]=new JButton(""+ch[i]);
      

  5.   

    这是完整的
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    class buju extends JFrame {
        JTextField outputNumber;
        JButton button[];     buju()
        {
         super("计数器");
         outputNumber=new JTextField("0",10);
         String str=new String("789+456-123*0=/");
         char ch[]=str.toCharArray();
         button = new JButton[ch.length];
         for(int i=0;i<ch.length;i++){
            button[i]=new JButton(""+ch[i]);
         }
         Box box1=Box.createHorizontalBox();
         box1.add(outputNumber);
         Box box2=Box.createHorizontalBox();
         box2.add(button[0]);
         box2.add(button[1]);
         box2.add(button[2]);
         box2.add(button[3]);
         Box box3=Box.createHorizontalBox();
         box3.add(button[4]);
         box3.add(button[5]);
         box3.add(button[6]);
         box3.add(button[7]);
         Box box4=Box.createHorizontalBox();
         box4.add(button[8]);
         box4.add(button[9]);
         box4.add(button[10]);
         box4.add(button[11]);
         Box box5=Box.createHorizontalBox();
         box5.add(button[12]);
         box5.add(button[13]);
         box5.add(button[14]);
         Box baseBox=Box.createVerticalBox();
         baseBox.add(box1);
         baseBox.add(box2);
         baseBox.add(box3);
         baseBox.add(box4);
         baseBox.add(box5);
         Container con=getContentPane();
         con.setLayout(new FlowLayout());
         con.add(baseBox);
         con.validate();
         setBounds(120,150,270,200);
         setVisible(true);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setVisible(true);
         validate();    }
      }public  class jsp
       {
        public static void main(String[] args)
        {
          buju hh=new buju();
        }
      }
      

  6.   

    谢谢,问题以解决
    我新开了个PROJECT
    再改以下就可以运行了
    但为什么在原来的PROJECT中就出错呢?