#java
#java
Вопрос:
У меня есть сетка кнопок, и я хочу знать, есть ли способ получить местоположение нажатой кнопки, у меня есть прослушиватель действий для кнопок, но мне нужны строка и столбец кнопки, которая была нажата, и я, кажется, не могу понять, как
Ответ №1:
Вы можете использовать
JButton.setActionCommand(String actionCommand)
связать любую информацию, которую вы хотите, с кнопкой, чтобы вы могли закодировать некоторое значение, указывающее нужную вам информацию там.
Затем, когда вы вызываете свой ActionListener, вы можете извлечь его с помощью
public void actionPerformed(ActionEvent ae) {
String cmd = ae.getActionCommand();
//based on cmd, do something
}
Ответ №2:
Один из относительно простых способов — поместить кнопки в 2D-массив, а затем выполнить итерацию по массиву с помощью пары вложенных циклов for, пока не найдете кнопку, которая соответствует текущей (через ActionEvent#getSource(). Тогда ваши строка и столбец являются индексами цикла.