#java #swing #user-interface #java-11
#java #swing #пользовательский интерфейс #java-11
Вопрос:
я пытаюсь создать панель пользовательского интерфейса, которая служит как форма (я не использую GUI designer). Левая сторона содержит метки, а правая сторона содержит текстовое поле и т.д. Я хочу сделать так, чтобы при изменении размера был только правильный размер (текстовые поля, изменение формы).
В настоящее время я использую GridLayout(x, 2)
с одним JLabel
и JTextField
для каждой строки.
Итак, при изменении размера я хочу сделать так, чтобы это шло
от [(JLabel)|(JTextField)]
Для [(JLabel)|( JTextField )]
нет [( JLabel )|( JTextField )]
.
Плюс, конечно, мне нужно убедиться, что все строки всегда совпадают.
Ответ №1:
Если вы хотите использовать единый менеджер компоновки, вы можете использовать GridBagLayout
.
Для компонентов во втором столбце вы бы установили weightx
ограничение на 1.0f. Это означает, что любое дополнительное пространство будет выделено только для этого компонента.
Прочитайте раздел из руководства по Swing о том, как использовать GridBagLayout. В разделе Specifying Constraints
будет более подробно объяснено, как работает это ограничение.
Ответ №2:
GridLayout не может быть использован для этого. Используйте GridBagLayout или более простой в использовании менеджер компоновки, например MigLayout.
Комментарии:
1. Не могли бы вы предложить, как установить что-то подобное? Потому что я думаю, что пропустил такую настройку.