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

java问题,求高手解决
[code=Java][/code]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Calculator implements ActionListener{
JTextField jtf;
JButton[] jbt;//jbt2,jbt3,jbt4,jbt5,jbt6,jbt7,jbt8,jbt9,jbt0;
Calculator(){
  JFrame jfrm = new JFrame("计算器");
  jfrm.setLayout(new FlowLayout());
  jfrm.setSize(240,120);
  jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jtf = new JTextField(10);
  for(int i=0;i<10;i++){
  jbt[i] = new JButton(String.valueOf(i));
  jbt[i].addActionListener(this);}
  jtf.addActionListener(this);
  jfrm.add(jtf);
  for(int j=0;j<10;j++)
  jfrm.add(jbt[j]);
  jfrm.setVisible(true);
 }

public void actionPerformed(ActionEvent ae){
 for(int i=0;i<10;i++)
  if(ae.getActionCommand().equals(String.valueOf(i)))
  jtf.setText(String.valueOf(i));
}
 
public static void main(String args[]){
 SwingUtilities.invokeLater(new Runnable(){
  public void run(){
  new Calculator();}
  });
  }
}

解释一下上面的程序,十个按钮,上面分别是0到9,每次按下一个按钮,该按钮上面的数字就会在文本域里面显示
上面的程序出现了异常,程序异常终止,求高手指出,哪个地方出现异常了。

------解决方案--------------------
我运行了一下你的程序,首先很明显是空指针错误,然后错误定位到JButton[] jbt;你看看这个数组都没有初始化,怎么可能不错呢,所以你把它改成JButton[] jbt = new JButton[10];一切ok