Альтернативные способы указания параметров gridx, gridy, gridwidth и gridheight

Альтернативные способы указания параметров gridx, gridy, gridwidth и gridheightВ документации по библиотеке AWT рекомендуется не задавать абсолютные значения параметров gridx и gridy, а вместо этого использовать константу GridBagConstraints.RELATIVE. Затем нужно, как обычно, слева направо строка за строкой включать компоненты в контейнер, управляемый диспетчером компоновки GridBagLayout. Количество строк и столбцов, занятых ячейкой, нужно задавать с помощью полей gridheight и gridwidth. Исключение составляет компонент, занимающий последнюю строку или столбец. Для него задается не числовое значение, а специальная константа GridBagConstraints.REMAINDER. Это позволяет диспетчеру компоновки распознавать последние компоненты.Данная схема вполне работоспособна. Однако кажется странным сначала скрывать от диспетчера компоновки информацию о фактическом расположении компонентов, а затем полагаться на то, что он сам угадает правильные параметры.

У читателя может сложиться впечатление, что пользоваться диспетчером GridBagLayout очень сложно. Однако, следуя приведенным ниже рекомендациям, удается размещать элементы, не затрачивая значительных усилий.

  1. Изобразите схему расположения компонентов на бумаге.
  2. Определите такую сетку, чтобы каждый компонент умещался в ячейке, а большие компоненты могли занимать несколько ячеек.
  3. Пометьте строки и столбцы вашей сетки числами 0, 1, 2, 3,… Теперь можно определять значение параметров gridx, gridy, gridwidth и gridheight.
  4. Для каждого компонента решите, нужно ли, чтобы он заполнял ячейку в горизонтальном или вертикальном направлении? Если нет, как его выровнять внутри ячейки? Это определяют параметры fill и anchor.
  5. Установите вес равным 100. Однако если вы хотите, чтобы конкретная строка или столбец всегда сохраняли свой первоначальный размер, задайте параметры weightx или weighty всех компонентов, находящихся в этой строке или столбце, равными 0.
  6. Напишите программу. Тщательно проверьте установки класса GridBagConstraints. Однако неверное ограничение может разрушить всю компоновку.
  7. Скомпилируйте программу и запустите ее на выполнение.

Некоторые инструменты для построения графических интерфейсов включают в себя инструменты для визуального указания ограничений.

Защитите вашу переписку, звонки и файлы! VIPole защита связи на самом высоком уровне.  Программа VIPole — защищенный онлайн мессенджер для корпоративного и личного использования.