これは、私の問題を説明するときに簡単にするために、私のプログラムのインターフェイスの写真です。
プログラムはこの画面から始まります。最初のステップは、名前の編集ボタンをクリックして名前を編集することです。これにより、次のメソッドが呼び出されます。
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