Есть ли способ коллективно изменить заполнение JButtons? Я нашел метод setMargin(), но он не работает с группами кнопок, и я действительно не могу себе представить, как можно пройтись по 25 кнопкам по отдельности. :)
Спасибо!
Есть ли способ коллективно изменить заполнение JButtons? Я нашел метод setMargin(), но он не работает с группами кнопок, и я действительно не могу себе представить, как можно пройтись по 25 кнопкам по отдельности. :)
Спасибо!
Если ваша группа кнопок называется buttonGroup
, вы можете использовать:
buttonGroup.getElements();
Который возвращает Enumeration
, содержащий кнопки. Затем вы можете вызывать setMargin()
для каждой кнопки...
Доступны несколько возможных решений:
1) Имейте кнопки в массиве или коллекции и изменяйте их по мере повторения.
2) Создайте JButtons в "фабричном" методе. Я думаю, что этот мне нравится больше всего.
3) Подкласс JButton (мой наименее любимый вариант).
4) Возможно, больше...
Если вы хотите сделать это для всех кнопок в приложении, вы можете использовать UIManager:
UIManager.put("Button.margin", new Insets(10, 10, 10, 10) );
Если вы хотите сделать это для определенных кнопок в приложении, вам нужно сделать каждую отдельную кнопку. Однако я не понимаю проблемы, так как где-то в вашем коде вы должны создать 25 кнопок. Таким образом, в этот момент вы также устанавливаете поле для кнопки.