Как правильно установить размер элементов графического интерфейса?
Вопрос
Я использую Swing для создания графического интерфейса.У J есть JFrame, содержащий одну основную JPanel, которая, в свою очередь, содержит несколько JPanel, которые, в свою очередь, содержат кнопки.
Я хотел бы установить определенные размеры для кнопок mu и JPanels.Как это работает?Должен ли я установить размеры своих кнопок, а затем размер JPanel и JFrame будет установлен в соответствии с размерами кнопок?Или это работает в обратную сторону?Я установил размер JPanel, и размер кнопок будет установлен автоматически?
ДОБАВЛЕН:
я использовал fieldPanel.setPreferredSize(new Dimension(100,100));
и на внешний вид окна это никак не повлияло.Может быть потому, что эта панель находится в «середине иерархии», она содержит несколько кнопок и содержится в других JPanels?
Решение
Это зависит от менеджера компоновки, который вы используете.Некоторые, например GridLayout, не обращают внимания на установленный вами размер, а применяют правила самого менеджера макетов.
Другие, такие как GridBagLayout, позволяют лучше контролировать размер компонентов.