Как установить свойства для JRadioButtons и применить их ко всем?

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

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

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

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

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


person Community    schedule 16.03.2015    source источник
comment
is there are way to set them once for all? — создайте метод, который создает кнопку и устанавливает свойства, а затем возвращает кнопку.   -  person camickr    schedule 16.03.2015


Ответы (1)


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

Итак, проблема здесь в том, чтобы настроить 10 JRadioButton? Вы можете создать метод, возвращающий список (или другую коллекцию/карты/...) кнопки 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. Это зависит от того, как вы хотите делать то, что хотите делать.

person damus4    schedule 16.03.2015