Введение в программирование

Класс GridBagLayout


Этот класс используется менеджером компоновки GridBagLayout и определяет требования к размещению компонентов.

Компоновка GridBagLayout позволяет размещать компоненты в ячейках таблицы. Но, в отличие от менеджера компоновки GridLayout, ячейки таблицы могут различаться как по ширине, так и по высоте. Размещаемые компоненты могут занимать несколько ячеек.

Область, занимаемая компонентом, называется областью отображения. Ее размеры определяются значениями переменных gridwidth и gridheight (количество ячеек по горизонтали и по вертикали) класса GridBagConstraints.

Отступами (insets) называется расстояние между областью отображения и действительной областью, занимаемой компонентом.

На рис. 27.4 приведен пример компоновки, в которой кнопка 3 занимает 9 ячеек, но размер кнопки меньше размера области отображения.


Рис. 27.4.  Отступы, устанавливаемые объектом GridBagConstraints

Если область отображения отличается от размера компонента, то для определения требований к размещению используется переменная fill.

Если размер размещаемого компонента меньше размера области отображения, то для указания размещения компонента используется переменная anchor, которая может принимать одно из следующих значений:

  • GridBagConstraints.CENTER
  • GridBagConstraints.NORTH
  • GridBagConstraints.NORTHEAST
  • GridBagConstraints.EAST
  • GridBagConstraints.SOUTHEAST
  • GridBagConstraints.SOUTH
  • GridBagConstraints.SOUTHWEST
  • GridBagConstraints.WEST
  • GridBagConstraints.NORTHWEST.

Переменная fill класса GridBagConstraint определяет, следует ли изменять размер компонента, и может принимать следующие значения:

  • GridBagConstraint.NONE - размер компонента не изменять (значение, используемое по умолчанию);
  • GridBagConstraint.HORIZONTAL - изменить размер по горизонтали, но не изменять его высоту;
  • GridBagConstraint.VERTICAL - изменить размер по вертикали, но не изменять его ширину;
  • GridBagConstraint.BOTH - увеличить размеры компонента до размера области отображения.

Переменные gridheight и gridwidthкласса GridBagConstraint определяют число ячеек в столбце или строке соответственно. При этом константа GridBagConstraints.REMAINDER указывает, что компонент будет последним в столбце (строке), а константа GridBagConstraints.RELATIVE указывает, что компонент будет ближайшим к последнему.

Конструктор GridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady) создает объект требований к размещению компонента, используемый менеджером компоновки, со всеми полями, имеющими заданные значения.



Содержание раздела