2015-03-16 2 views
0

Привет, у меня есть более 10 JRadio Buttons, и есть некоторые свойства, которые у всех их есть, поэтому вместо того, чтобы записывать эти свойства по одному на каждый переключатель, есть ли способ установить их один раз для всех?Как установить свойства для JRadioButtons и применить к ним все?

Свойства Я хочу, чтобы установить для всех радио-кнопок:

radiButtonName.setOpaque(false); 
radiButtonName.setContentAreaFilled(false); 
radiButtonName.setBorderPainted(false); 
radiButtonName.setBorder(null); 

Я попытался с помощью UIManager, но он ведет себя странно, и он не поддерживает все свойства, которые мне нужны.

Я хотел бы избежать создания дополнительного класса и расширения кнопки радио. Поскольку я также хотел бы применить эту технику к другим компонентам, чтобы уменьшить написанный код, это сделает код намного короче. Заранее спасибо :)

+0

'есть ли способ установить их один раз для всех? '- создать метод, который создает кнопку и устанавливает свойства, а затем возвращает кнопку. – camickr

ответ

3

Если вы должны сделать то же самое N количество времени попытаться написать метод, который будет делать трюк для вас :)

Так что проблема здесь заключается в установлении вверх 10 JRadioButton? Вы можете создать метод, возвращающий список (или annother коллекция/карты/...) кнопки JRadio как следующее:

private List<JRadioButton> setUpButtons() { 
    //create list 
    for(int i = 0; i < NB_BUTTONS; i++) { 
    //set the properties wanted 
    } 
    return myList; 
} 

Обратите внимание, что NB_BUTTONS переменная так:

private final int NB_BUTTONS = 10; 

Легче изменить значение один раз, чем изменить его во всем коде. С той же логикой вы можете написать метод «подготовки» одного JRadioButton. Это зависит от того, как вы хотите делать то, что хотите.