我一直在网上搜索我的特定基本问题的答案,但找不到。我必须说我是编程新手,我必须为学校做这件事。我创建了一个 6/49 彩票的界面,您必须在其中单击 6 个 JButton,创建您的“幸运”号码。在我的界面 .java 中,我以这种方式创建了我的按钮:
JButton b;
for (i = 1; i <= 49; i ++)
{
String s = String.valueOf(i);
b = new JButton(s);
if (i % 2 == 0)
b.setForeground(new Color(3, 121, 184));
else
b.setForeground(new Color(228, 44, 44));
choixNumero.add(b);
注意:“choixNumero”是一个 gridLayout ( 7 x 7 )
在另一个 .java 中,我正在为我的 JButton b 创建一个 actionListener,但这似乎不起作用。这是我写它的方式:
intProjet.b.addActionListener(new EcouteurCombinaison()); // where "intProjet" is my interface.java
这是我的 EcouteurCombinaison 的代码:
private int [] nums;
private int nbRestant = 6;
private class EcouteurCombinaison implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
if (nbRestant > 0)
{
//nums[nbRestant] = indexOf(e)); //will have to find a way to get index of the button pressed
nbRestant --;
intProjet.valNbRestant.setText("" + nbRestant);
}
else
{
JOptionPane.showMessageDialog(null, "Vous avez choisis vos 6 numéros\n Cliquer sur Soumettre pour valider", "Information", JOptionPane.INFORMATION_MESSAGE);
}
}
}
所以基本上,每次按下按钮时,我都会尝试将 JButton 的索引或值添加到向量中。然后我会将它发送到另一个 .java
我已经在我的代码中实现了其他 actionListener 并且它们工作正常( JButton、RadioButton、JComboBox )。我不明白为什么单击按钮时什么也没有发生。
我试图在不粘贴所有代码的情况下尽可能清楚地说明这一点。
编辑: ActionListener 仅适用于最后一个按钮( 49 )。我怎样才能让它听所有b按钮?