オブジェクト(arrayListの一部)がクリックされた後、返されたインデックスを使用してコードを呼び出すときを判断しようとしています。 -1:ここe.getSource()を型変換してArrayListのインデックスを返す方法は?
は私のコードスニペットは、私がにArrayIndexOutOfBoundsExceptionを得続ける
this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (cursorState==1) {
int indx = trees.indexOf(e.getSource());
Tree tempTree = trees.get(indx);
tempTree.killTree(); //Code I call for the object that was clicked on
System.out.println("indx"); //Troubleshoot
repaint();
}
}
です。
私の検索から、それは全くインデックスを取得していないようです。
'trees 'とは何ですか?そして、あなたはどのようなジェネリック型引数をインスタンス化しましたか? – Travis
'indexOf'は明らかに' -1'を返しています。これは 'e.getSource()'から返された値がツリーに存在しないことを意味します。 – n247s