java - JButton 用颜色创建

标签 java arrays swing jbutton

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

相关文章:

c++ - 对于结构中的数组,我可以期待哪些对齐保证?

php - 如果多个复选框在 php 中是动态的,如何存储它们

java - 如何在没有 Applets 的情况下在浏览器中显示 JFrame 应用程序

Java 字符串函数

java - 小程序死了吗?

javascript - 如何从这个序列化字符串创建 PHP 数组?

java - 如何正确地将 JPanel 放置到 JFrame 上?

java - JTable 单元格中的 JTree,很少有问题

每 15 分钟的 Java 日期时间比较

java - 计算器问题