JButton用颜色创造

时间:2013-04-26 23:15:53

标签: java arrays swing jbutton

我正在尝试在带有颜色的面板中创建一组Jbuttons。每个都有不同的文字和颜色属性(从数组中获取)

这是我的代码

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()));
 }

除非按钮没有颜色,否则效果非常好。

1 个答案:

答案 0 :(得分:0)

您可以在将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似乎返回{{1}}个集合。在这种情况下,可以使用enhanced for loop