установить поле для группы кнопок

Есть ли способ коллективно изменить заполнение JButtons? Я нашел метод setMargin(), но он не работает с группами кнопок, и я действительно не могу себе представить, как можно пройтись по 25 кнопкам по отдельности. :)

Спасибо!


person wednesday    schedule 30.01.2011    source источник


Ответы (3)


Если ваша группа кнопок называется buttonGroup, вы можете использовать:

buttonGroup.getElements();

Который возвращает Enumeration, содержащий кнопки. Затем вы можете вызывать setMargin() для каждой кнопки...

person chahuistle    schedule 30.01.2011

Доступны несколько возможных решений:
1) Имейте кнопки в массиве или коллекции и изменяйте их по мере повторения.
2) Создайте JButtons в "фабричном" методе. Я думаю, что этот мне нравится больше всего.
3) Подкласс JButton (мой наименее любимый вариант).
4) Возможно, больше...

person Hovercraft Full Of Eels    schedule 30.01.2011

Если вы хотите сделать это для всех кнопок в приложении, вы можете использовать UIManager:

UIManager.put("Button.margin", new Insets(10, 10, 10, 10) );

Если вы хотите сделать это для определенных кнопок в приложении, вам нужно сделать каждую отдельную кнопку. Однако я не понимаю проблемы, так как где-то в вашем коде вы должны создать 25 кнопок. Таким образом, в этот момент вы также устанавливаете поле для кнопки.

person camickr    schedule 30.01.2011