Динамический размер окна и кнопки - PullRequest
0 голосов
/ 25 июня 2011

У меня есть JPanel, и я динамически создаю JButton во время выполнения. Я хочу, чтобы размер JPanel регулировался динамически в соответствии с количеством добавленных к нему кнопок JButton. Какой макет я должен использовать? И мой JPanel будет добавлен в JFrame, поэтому кто-нибудь может объяснить, что мне нужно сделать, чтобы установить, что я пытаюсь сделать?

EDIT После небольшого исследования я использую следующую раскладку
mode.setLayout(new GridLayout(5, 0, 1, 1)); Здесь mode - это JPanel. Теперь, если у меня есть только 2 кнопки J, добавленные к JPanel, кнопки будут отображаться одна под другой, что нормально. Но я получаю дополнительное место в нижней части этих 2 кнопок. Если у меня 15 кнопок, я получаю 5 строк и 3 столбца, что опять хорошо, но размер окна маленький, и мне нужно изменить размер окна вручную во время выполнения для полного отображения кнопок.

Конкретный вопрос: Как управлять размером окна в приведенном выше сценарии с динамическими кнопками?

1 Ответ

1 голос
/ 25 июня 2011

Основной код для динамического добавления компонентов:

panel.add(...);
panel.revalidate();

Обновление:

Вы можете использовать следующее, чтобы получить окно, которое нужно упаковать:

SwingUtilities.windowForComponent(...);
...