我有这样的事情:
public void actionPerformed(ActionEvent a) {
((JButton)a.getSource()).setBackground(Color.red);
}
颜色变化成功,但我需要根据点击的按钮更改int
数组中的值。如何获取在JButton数组中单击鼠标的位置的X和Y坐标?
答案 0 :(得分:1)
一种方法:使用JButton的2D数组并通过嵌套for循环遍历数组以获取行和列值。例如......
int r = -1;
int c = -1;
for (int row = 0; row < buttons.length; row++) {
for (int col = 0; col < buttons[row].length; col++) {
if (buttons[row][col] == e.getSource()) {
r = row;
c = col;
}
}
}
编辑:其他选项(如MadProgrammer所述),使用Map将JButton或其Action映射到Color。