イムなって「例外スレッドで 『AWT-EventQueueの-0』 java.lang.ArrayIndexOutOfBoundsException:0 と私は本当に理由を理解しないは、ArrayIndexOutOfBoundsExceptionがを生成
私がリスナーとして使用し、これらの2つの内部クラスを持っていますJPanelのためbildYta
と呼ば:
private class NyPlatsLyss implements ActionListener{
public void actionPerformed(ActionEvent e){
bildYta.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
bildYta.addMouseListener(new BildYtaLyss());
bildYta.addKeyListener(new EscLyss());
bildYta.requestFocusInWindow();
enableOperations(false);
}
}
private class EscLyss extends KeyAdapter{
public void keyPressed(KeyEvent e){
if(e.getKeyCode()==KeyEvent.VK_ESCAPE){
bildYta.setCursor(Cursor.getDefaultCursor());
bildYta.removeMouseListener(bildYta.getMouseListeners()[0]);
bildYta.removeKeyListener(this);
enableOperations(true);
}
}
}
私はそれがbildYta
にリスナーの両方を追加し、ボタンを押すと、私は.ArrayIndexOutOfBoundsException取得なぜ私が理解していないことです。私は今追加したマウスリスナーを削除したときに0を。時々私は例外を得ることもないイオン、そして時々私はします。私のコードの残りの部分は、私がそれらのリスナーを追加した後、私のプログラムで何も起こりそうにないので、何の問題も生じません。 ESCを押すかマウスをクリックするのを待つ
で削除コードしているされてサラウンドマウスイベントが発生した後になる – mKorbel