我目前有108個自動生成的jPanels,每個包含一個隨機數。 有沒有一種方法可以輕鬆地使每個這些可點擊? 這裏是我的代碼..多個可點擊的JPanels
創建JPanels:
for (int row = 0; row < numbers.length; row++)
{
for (int col = 0; col < numbers[row].length; col++)
{
int tempNumber = (int)(Math.random() * 9 + 1);
numbers[row][col] = tempNumber;
np1 = new NumberPanel(tempNumber);
np1.setLocation(row*np1.getWidth(), row*getWidth());
add(np1);
}
}
人數面板類:
public NumberPanel(int randomNumber)
{
String number = Integer.toString(randomNumber);
setPreferredSize(new Dimension(40, 40));
setBackground(Color.red);
JLabel label = new JLabel(number, JLabel.LEFT);
label.setFont(new Font("Serif", Font.BOLD, 35));
add(label);
}
我可以做按鈕..但是因爲它們是通過一個循環創建的,我將如何去點擊鼠標? – Liam
我已經說過,你會添加一個'ActionListener'到按鈕。您可以將相同的ActionListener添加到每個按鈕。在ActionListener代碼中,您使用'ActionEvent'的'getSource()'方法來獲取被點擊的按鈕。 – camickr
我明白了,但是它怎樣才能真正知道哪個按鈕看起來不會全部用相同的名稱'np1'創建? – Liam