这是我的程序界面的图片,只是为了在解释我的问题时简单。
所以程序从这个屏幕开始,第一步是编辑你的名字,通过点击编辑名字按钮,它调用这个方法:
private void editName() {
NameLabel = new javax.swing.JLabel();
NameField = new javax.swing.JTextField();
Sumbit = new javax.swing.JButton();
Sumbit.addActionListener(this);
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setAlwaysOnTop(true);
setType(java.awt.Window.Type.POPUP);
NameLabel.setText("Name:");
NameField.setText(name);
Sumbit.setText("Sumbit");
..location code..
因此,您在弹出的文本字段中输入您的姓名,然后点击提交。然后我得到这个错误:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at kraz.Kraz.game(Kraz.java:62)
at kraz.Kraz.actionPerformed(Kraz.java:186)
第 186 行的 actionPerformed 是提交按钮:
else if (e.getSource() == Sumbit)
{
name = NameField.getText();
NameField.setText("" + name);
if (step == 1)
{
++step;
game();
}
}
第 62 行是我调用 game() 方法的地方。下一个,第 162 行是:
public void game() {
if (step == 1)
{
HealthBar.setValue(100);
}
else if (step == 2)
{
EventField.setText("Test");
ProgressBar.setValue(1);
}
}
错误是我在 EventField 中设置文本时。
完整代码: http: //pastebin.com/rBWju8vX