Как правильно установить размер элементов графического интерфейса? - PullRequest
3 голосов
/ 26 марта 2010

Я использую Swing для создания моего GUI. J имеет JFrame, содержащий одну главную JPanel, которая, в свою очередь, содержит несколько JPanel, которые, в свою очередь, содержат кнопки.

Я бы хотел установить определенные размеры для кнопок mu и JPanels. Как это работает? Должен ли я установить размеры своих кнопок, и тогда размер JPanel и JFrame будет установлен в соответствии с размерами кнопок? Или это работает в обратном направлении? Я установил размер для JPanel и размер кнопок будет установлен автоматически?

ДОБАВЛЕНО:

Я использовал fieldPanel.setPreferredSize(new Dimension(100,100));, и это никак не повлияло на внешний вид окна. Может быть потому, что эта панель находится в «середине иерархии», она содержит некоторые кнопки и содержится в других JPanels?

1 Ответ

3 голосов
/ 26 марта 2010

Это зависит от того, какой менеджер компоновки вы используете. Некоторые, такие как GridLayout, не обращают внимания на установленный вами размер, а применяют правила самого менеджера макета.

Другие, такие как GridBagLayout, лучше контролируют размер компонентов.

...