Я пытаюсь сделать это, когда нажата кнопка, я могу изменить один из ее свойств.Javafx2 кнопку изменения при нажатии
class Tile extends Button{
public int position[];
public Tile(){
super();
position = 0;
}
}
Где инициализирован:
{
Tile tiles [][] = new Tile[10][10];
for(int i=0; i<10; i ++){
for(int j =0; j<10; j++){
tiles[i][j].position = i*10+j;
tiles[i][j].addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent e) {
System.out.println(((Tile)(e.getSource())).position[1]); //this results in a null pointer
}
});
}
}
}
Я хотел бы программу для распечатки значения позиции в плитке, когда она нажата. Есть ли способ доступа к объекту, к которому относится событие? Мне действительно нужно знать, какая плитка в массиве была нажата. Редактирование: Когда я пытаюсь использовать e.getSource(), я получаю исключение NullPointerException
Я пробовал это, но он продолжает давать мне нулевой указатель. Я отредактировал вопрос, чтобы отразить то, что я использовал. – LucienK
Вы указали позицию как массив из int, но вы назначаете ему int. Отсюда - нулевой указатель. – Alexandre
Whups, это было на самом деле потому, что я никогда не инициализировал массив. Сейчас у меня это работает. Спасибо за помощь! – LucienK