【发布时间】:2020-12-28 12:22:15
【问题描述】:
我在将特定数量的按钮从我的 for 循环添加到我的 JPanel 时遇到问题,我知道如何添加所有按钮,但我只想添加 1-10 个(我还没有决定,让我们一起去吧10).'
这是我的课程,我只是声明我想要拥有的对象。
private static int cID;
private static Deck[] card;
static ArrayList<JButton> buttonList = new ArrayList<JButton>();
private JFrame f;
private JPanel p1;
private JButton button;
public boolean isEmpty() {
return cID == 0;
}
public static void main(String[] args) {
CustomDecks c = new CustomDecks();
c.deckCreator();
}```
这是我的 for 循环,我在其中创建 420 个按钮并将它们命名为“card”+ i,其中 i 为 0 - 419,但是当我尝试将 card0 添加到我的面板时,它失败了,为什么?
private void deckCreator() {
card = new Deck[25];
new ArrayList<Cards> (cSet.cards);
for(int i = 0; i < 420; i++) {
button = new JButton();
buttonList.add(button);
button.setName("card" + i);
f.add(button);
p1.add(card0);
}
f.add(p1);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.setVisible(true);
f.setExtendedState(Frame.MAXIMIZED_BOTH);
f.setUndecorated(true);
}
}
}
【问题讨论】:
-
不能只添加对象数组,必须添加 一个 awt 组件,请参阅文档中
add()的重载方法:docs.oracle.com/javase/7/docs/api/java/awt/…