【问题标题】:JButton creating with color用颜色创建 JButton
【发布时间】:2013-04-21 05:22:42
【问题描述】:

我正在尝试在带有颜色的面板中创建一组 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()));
 }

它工作得很好,除了按钮没有颜色。

【问题讨论】:

    标签: java arrays swing jbutton


    【解决方案1】:

    您可以在将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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-29
      • 2022-10-16
      • 2019-04-22
      • 2014-06-23
      • 2016-03-03
      • 2014-05-11
      • 2011-12-13
      • 1970-01-01
      相关资源
      最近更新 更多