我正在尝试在带有颜色的面板中创建一组 Jbutton。每个都有不同的文本和颜色属性(从数组获取)
这是我的代码
for(int e = 0;e<game.players.get(0).getHand().size();e++){
panel.add(new JButton(){{
setText(game.players.get(0).getHand().get(e).getValue());
setBackground(game.players.get(0).getHand().get(e).getColor());
}});
}
但是我收到一个错误。它说我无法访问变量 e,因为它没有声明为 Final(本地访问 e 是从内部类内部访问的)。
如果我这样做
for(int e = 0;e<game.players.get(0).getHand().size();e++){
panel.add(new JButton(game.players.get(0).getHand().get(e).getValue()));
}
它工作得很好,除了按钮没有颜色。
最佳答案
您可以简单地创建JButton
,然后将其添加到面板:
MyHand myHand = game.players.get(0).getHand();
for (int e=0; e < myHand.size(); e++) {
JButton button = new JButton(myHand.get(e).getValue());
button.setBackground(myHand.get(e).getColor());
panel.add(button);
}
从此代码中 getHand
似乎返回一个 Iterable
集合。在这种情况下,enhanced for loop可以使用。
关于java - JButton 用颜色创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16246540/