Я пытаюсь определить, когда был нажат объект (который был частью массива), а затем я вызываю некоторый код, используя индекс, который я получил.Как придать тип e.getSource() для возврата индекса ArrayList?
Вот мой фрагмент кода
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();
}
}
Я постоянно получаю ArrayIndexOutOfBoundsException: -1.
Из моего поиска кажется, что он не получает индекс вообще.
В каком классе «деревья»? И какой аргумент общего типа вы его создавали? – Travis
'indexOf', очевидно, возвращает' -1'. Wich означает, что возвращаемое значение из 'e.getSource()' не существует в дереве. – n247s