使用for循环设置jbuttons的颜色,而不是制作一个.setForeground(Color.red);

时间:2012-01-26 17:02:54

标签: swing loops colors for-loop jbutton

我有一百个名为

的按钮

JButton btnHelp1,btnHelp2,... btnHelp100;

我想从字符串转到jbutton名称,以获得另一种设置前景的方法

    for(x = 1; x < 101; x++){ 
        String buttonName = "btnHelp" + x;
        // convert by doing something like...
        JButton a = buttonName;
        a.setForeground(Color.yellow);
    }

3 个答案:

答案 0 :(得分:2)

你所描述的是不可能的。但是,您可以在List中添加所有按钮,并浏览列表中的每个元素(按钮)并更改其背景。

for (JButton button: myButtonsList) {
    button.setBackground (Color.Yellow)
}

答案 1 :(得分:2)

您是否创建了JButtons?而不是命名所有这些,将JButton引用保留在数组或列表中:

JButton[] buttons = new JButton[100];

for (int i = 0; i < buttons.length; i++) {
    buttons[i] = new JButton();
    // other commonalities
}

答案 2 :(得分:0)

另一种可能更简单的解决方案是创建一个名为JButton的{​​{1}}子类,并在构造函数中设置前景色和其他属性。然后,您需要更改的是构建按钮以实例化帮助按钮,例如:

HelpButton