установить цвет кнопок с помощью цикла for вместо сотен .setForeground (Color.red); - PullRequest
0 голосов
/ 26 января 2012

У меня есть сто кнопок, которые называются

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 ]

2 голосов
/ 26 января 2012

Вы создали JButtons?Вместо именования всех из них хранит ссылки JButton в массиве или списке:

JButton[] buttons = new JButton[100];

for (int i = 0; i < buttons.length; i++) {
    buttons[i] = new JButton();
    // other commonalities
}
2 голосов
/ 26 января 2012

То, что вы описываете, невозможно. Однако вы можете добавить все свои кнопки в List, просмотреть все элементы (кнопки) своего списка и изменить его фон.

for (JButton button: myButtonsList) {
    button.setBackground (Color.Yellow)
}
0 голосов
/ 27 января 2012

Другое, возможно, более простое решение - создать подкласс JButton с именем HelpButton, и в конструкторе вы можете установить цвет переднего плана вместе с другими свойствами.Тогда все, что вам нужно изменить, - это создание кнопок для создания кнопки справки, например:

JButton btnHelp = new HelpButton();
...