程序如下:
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();
}
}
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();
}
}
只是你的button[]没有初始化,要在循环赋值的前面加 button=new JButton[ch.length];
super("Calculator");
outputNumber=new JTextField("0",10);
String str=new String("789+456-123*0=/");
char ch[]=str.toCharArray();
button = new JButton[ch.length];
我用的是JBuilder6
有没有什么关系啊?
提示java.lang.NoClassDefFoundError
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]);
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();
}
}
我新开了个PROJECT
再改以下就可以运行了
但为什么在原来的PROJECT中就出错呢?