установить поле для группы кнопок - PullRequest
3 голосов
/ 30 января 2011

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

Спасибо!

Ответы [ 3 ]

2 голосов
/ 30 января 2011

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

buttonGroup.getElements();

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

1 голос
/ 30 января 2011

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

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

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

1 голос
/ 30 января 2011

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

...