Позиционирование компонентов в Swing GUI
У меня есть несколько вопросов о позиционировании компонентов и некоторые вопросы о текстовых полях и текстовых областях (Java Swing). Любая помощь очень ценится.
Прямо сейчас я пытаюсь расположить два текстовых поля рядом друг с другом, над каждым из которых должна стоять метка, описывающая, что делает это текстовое поле. Для достижения этого я поместил их вGridLayout(2, 2)
.
Это лучший способ? Это единственный способ, которым я знаю, чтобы иметь ярлык непосредственно над другим компонентом. Есть ли способ лучше? Что делать, если над одной кнопкой есть только одна метка? Разумно ли позиционировать это черезGridLayout(2, 1)
? У меня слабое зрение, поэтому я не думаю, что позиционирование кнопок только по их положению в пикселях - это вариант, если нет простого способа разместить компоненты с относительным количеством пикселей относительно другого компонента.
Это подводит меня к следующему вопросу. Каков наилучший способ иметь тот же пользовательский интерфейс, что и выше, но с другим компонентом (кнопкой) по центру под ним. По сути, пользовательский интерфейс должен состоять из двух именованных текстовых полей с кнопкой вычисления под. Я сделал это, поместив вышеуказанные компоненты на панель и добавив их плюс кнопку «Рассчитать» на окружающую панель сGridLayout(2, 1)
, Проблема в том, что кнопка становится такой же большой, как панель над ней (я предполагаю). Как я могу изменить это, и при этом кнопка должна быть идеально выровнена под панелью текстовых полей / надписей? Аналогично с метками над текстовыми областями. Метка должна быть маленькой, но иметь большую область для текстовой области.
(текстовое поле): Опять же, ссылаясь на приведенный выше пользовательский интерфейс, если пользователь вводит много символов в первое текстовое поле, будут ли буквы проходить над текстовым полем справа? Если так, как я могу предотвратить это?
Если я добавлю текст в текстовую область, и он уже заполнен, позволит ли он автоматически прокручивать пользователя? Если нет, то какой простой способ сделать прокручиваемую область текста?
Прямо сейчас я не устанавливаю размер области текста. Это только растет, когда я добавляю текст? Имеет ли он размер по умолчанию, как в количестве символов?