我正在制作一个乐透计划,我想要的是在屏幕上有几个JButton,当点击存储数组中的数字时。这是我的代码到目前为止,我是初学者所以我不知道接下来该做什么,任何帮助表示赞赏。谢谢!
b1 = new JButton();
b1.setLocation (5, 5);
b1.setSize (50, 50);
//b1.setText ("1");
b1.setIcon(new ImageIcon("jedan.png"));
c.add(b1);
b2 = new JButton();
b2.setLocation (60, 5);
b2.setSize (50, 50);
b2.setText ("2");
c.add(b2);
b3 = new JButton();
b3.setLocation (115, 5);
b3.setSize (50, 50);
b3.setText ("3");
c.add(b3);
答案 0 :(得分:0)
您可能最简单的方法是创建ArrayList
。
ArrayList<Integer> lotteryNumbers = new ArrayList<>();
然后,只要按下按钮,您就需要执行向数组添加数字的操作。您需要在此处创建ActionListener
。
我建议创建一个实现ActionListener
接口的内部类,以便您可以在每个按钮中重复使用此类。
// This code should go within the same class that you declare your ArrayList
private class ButtonClickListener implements ActionListener {
// This is the method that will be called when a button is clicked.
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JButton) {
lotteryNumbers.add(Integer.parseInt(((JButton)e.getSource()).getText()));
}
}
}
然后,您只需要实例化此类的实例,并将其作为ActionListener
添加到所有按钮中。
ActionListener buttonClickListener = new ButtonClickListener();
b1.addActionListener(buttonActionListener);
b2.addActionListener(buttonActionListener);
b3.addActionListener(buttonActionListener);
注意 :为此,我假设每个按钮上的文字对应于您要添加到阵列的彩票号码。我还假设按钮文本只包含可以转换为整数的数字字符。