Spec-Zone.ru › OpenJDK 21

Класс GridBagLayout

java.lang.Object
java.awt.GridBagLayout
Все реализованные интерфейсы:
LayoutManager, LayoutManager2, Serializable
public class GridBagLayout extends Object implements LayoutManager2, Serializable
Класс GridBagLayout — это гибкий менеджер компоновки, который выравнивает компоненты по вертикали, горизонтали или по линии базовой строки без необходимости, чтобы компоненты имели одинаковый размер. Каждый объект GridBagLayout поддерживает динамическую прямоугольную сетку ячеек, при этом каждый компонент занимает одну или несколько ячеек, называемую его областью отображения.

Каждый компонент, управляемый классом GridBagLayout, связан с экземпляром GridBagConstraints. Объект ограничений определяет, где область отображения компонента должна быть расположена в сетке и как компонент должен быть расположен в этой области. Помимо объекта ограничений, класс GridBagLayout также учитывает минимальные и предпочтительные размеры каждого компонента для определения размера компонента.

Общее направление сетки зависит от свойства контейнера ComponentOrientation. Для горизонтальной компоновки слева направо координата сетки (0,0) находится в верхнем левом углу контейнера, при этом x увеличивается вправо, а y — вниз. Для горизонтальной компоновки справа налево координата сетки (0,0) находится в верхнем правом углу контейнера, при этом x увеличивается влево, а y — вниз.

Для эффективного использования компоновки сетки необходимо настроить один или несколько объектов GridBagConstraints , которые связаны с его компонентами. Объект GridBagConstraints настраивается путем установки одного или нескольких его переменных-членов:

GridBagConstraints.gridx, GridBagConstraints.gridy
Определяет ячейку, содержащую ведущий угол области отображения компонента, где ячейка в начале сетки имеет адрес gridx = 0, gridy = 0. Для горизонтальной компоновки слева направо ведущий угол компонента — это его верхний левый угол. Для горизонтальной компоновки справа налево ведущий угол компонента — это его верхний правый угол. Используйте GridBagConstraints.RELATIVE (значение по умолчанию), чтобы указать, что компонент должен быть размещен непосредственно после (вдоль оси x для gridx или оси y для gridy ) компонента, который был добавлен в контейнер непосредственно перед добавлением этого компонента.
GridBagConstraints.gridwidth, GridBagConstraints.gridheight
Определяет количество ячеек в строке (для gridwidth ) или столбце (для gridheight ) в области отображения компонента. Значение по умолчанию равно 1. Используйте GridBagConstraints.REMAINDER , чтобы указать, что область отображения компонента будет от gridx до последней ячейки в строке (для gridwidth ) или от gridy до последней ячейки в столбце (для gridheight ). Используйте GridBagConstraints.RELATIVE , чтобы указать, что область отображения компонента будет от gridx до предпоследней ячейки в своей строке (для gridwidth ) или от gridy до предпоследней ячейки в своем столбце (для gridheight ).
GridBagConstraints.fill
Используется, когда область отображения компонента больше, чем запрошенный размер компонента, для определения, следует ли (и как) изменять размер компонента. Возможные значения — GridBagConstraints.NONE (значение по умолчанию), GridBagConstraints.HORIZONTAL (сделать компонент достаточно широким, чтобы заполнить его область отображения по горизонтали, но не изменять его высоту), GridBagConstraints.VERTICAL (сделать компонент достаточно высоким, чтобы заполнить его область отображения по вертикали, но не изменять его ширину) и GridBagConstraints.BOTH (заполнить компонент полностью).
GridBagConstraints.ipadx, GridBagConstraints.ipady
Указывает внутренний отступ компонента в компоновке, сколько добавить к минимальному размеру компонента. Ширина компонента будет не менее его минимальной ширины плюс ipadx пикселей. Аналогично, высота компонента будет не менее минимальной высоты плюс ipady пикселей.
GridBagConstraints.insets
Определяет внешний отступ компонента, минимальное расстояние между компонентом и краями его области отображения.
GridBagConstraints.anchor
Определяет, где компонент должен быть расположен в своей области отображения. Существует три типа возможных значений: абсолютные, относительные к ориентации и относительные к базовой строке. Значения, относительные к ориентации, интерпретируются относительно свойства ComponentOrientation контейнера, в то время как абсолютные значения не интерпретируются. Значения, относительные к базовой строке, рассчитываются относительно базовой строки. Допустимые значения:
  • Абсолютные значения:
    • GridBagConstraints.NORTH
    • GridBagConstraints.SOUTH
    • GridBagConstraints.WEST
    • GridBagConstraints.EAST
    • GridBagConstraints.NORTHWEST
    • GridBagConstraints.NORTHEAST
    • GridBagConstraints.SOUTHWEST
    • GridBagConstraints.SOUTHEAST
    • GridBagConstraints.CENTER (значение по умолчанию)
  • Относительные к ориентации значения:
    • GridBagConstraints.PAGE_START
    • GridBagConstraints.PAGE_END
    • GridBagConstraints.LINE_START
    • GridBagConstraints.LINE_END
    • GridBagConstraints.FIRST_LINE_START
    • GridBagConstraints.FIRST_LINE_END
    • GridBagConstraints.LAST_LINE_START
    • GridBagConstraints.LAST_LINE_END
  • Относительные к базовой строке значения:
    • GridBagConstraints.BASELINE
    • GridBagConstraints.BASELINE_LEADING
    • GridBagConstraints.BASELINE_TRAILING
    • GridBagConstraints.ABOVE_BASELINE
    • GridBagConstraints.ABOVE_BASELINE_LEADING
    • GridBagConstraints.ABOVE_BASELINE_TRAILING
    • GridBagConstraints.BELOW_BASELINE
    • GridBagConstraints.BELOW_BASELINE_LEADING
    • GridBagConstraints.BELOW_BASELINE_TRAILING
GridBagConstraints.weightx, GridBagConstraints.weighty
Используется для определения способа распределения пространства, что важно для указания поведения изменения размера. Если не указать вес хотя бы для одного компонента в строке (weightx ) и столбце (weighty ), все компоненты сгруппируются в центре контейнера. Это происходит потому, что когда вес равен нулю (значение по умолчанию), объект GridBagLayout помещает любое дополнительное пространство между сеткой ячеек и краями контейнера.

В каждой строке может быть базовая строка; она определяется компонентами в этой строке, имеющими корректную базовую строку и выровненными вдоль базовой строки (значение якоря компонента — одно из BASELINE, BASELINE_LEADING или BASELINE_TRAILING). Если ни один из компонентов в строке не имеет корректной базовой строки, строка не имеет базовой строки.

Если компонент занимает несколько строк, он выравнивается по базовой строке начальной строки (если поведение изменения размера базовой строки — CONSTANT_ASCENT ) или конечной строки (если поведение изменения размера базовой строки — CONSTANT_DESCENT ). Строка, к которой выравнивается компонент, называется преобладающей строкой.

На рисунке ниже показана компоновка с базовой строкой, а также компонент, занимающий несколько строк:

The following text describes this graphic (Figure 1).

Эта компоновка состоит из трех компонентов:
  • Панель, которая начинается в строке 0 и заканчивается в строке 1. Панель имеет поведение изменения размера базовой строки CONSTANT_DESCENT и якорь BASELINE. Так как поведение изменения размера базовой строки — CONSTANT_DESCENT , преобладающая строка для панели — строка 1.
  • Две кнопки, каждая с поведением изменения размера базовой строки CENTER_OFFSET и якорем BASELINE.
Поскольку вторая кнопка и панель имеют одну и ту же преобладающую строку, они оба выровнены по базовой строке.

Компоненты, размещаемые с помощью одного из значений, относящихся к базовой строке, изменяются по-другому, чем при размещении с помощью абсолютного или относительного к ориентации значения. Как меняются компоненты, определяется тем, как меняется базовая строка преобладающей строки. Базовая строка привязана к нижней части области отображения, если какие-либо компоненты с той же преобладающей строкой имеют поведение изменения размера базовой строки CONSTANT_DESCENT, в противном случае базовая строка привязана к верхней части области отображения. Следующие правила определяют поведение изменения размера:

  • Изменяемые компоненты, расположенные выше базовой строки, могут только увеличиваться в высоту до базовой строки. Например, если базовая строка находится на отметке 100 и привязана к верху, изменяемый компонент, расположенный выше базовой строки, никогда не может вырасти более чем на 100 единиц.
  • Аналогично, изменяемые компоненты, расположенные ниже базовой строки, могут только увеличиваться в высоту до разницы между высотой области отображения и базовой строкой.
  • Изменяемые компоненты, расположенные на базовой строке с поведением изменения размера базовой строки OTHER , изменяются только в том случае, если базовая строка в измененном размере помещается в области отображения. Если базовая строка такая, что не помещается в область отображения, компонент не изменяется.
  • Компоненты, размещенные на базовой строке, но не имеющие корректной базовой строки, могут только увеличиваться в высоту до display height - baseline + baseline of component.
Если компонент расположен вдоль базовой строки, но у компонента нет корректной базовой строки, он будет выровнен по вертикали в своем пространстве. Аналогично, если вы расположили компонент относительно базовой строки, и ни один из компонентов в строке не имеет корректной базовой строки, компонент выравнивается по вертикали.

На следующих рисунках показано десять компонентов (все кнопки), управляемых компоновкой сетки. Рисунок 2 отображает компоновку для горизонтального контейнера слева направо, а рисунок 3 — для горизонтального контейнера справа налево.

The preceding text describes this graphic (Figure 2).

Рисунок 2: Горизонтально, слева направо

The preceding text describes this graphic (Figure 3).

Рисунок 3: Горизонтально, справа налево


Каждый из десяти компонентов имеет поле fill связанного с ним объекта GridBagConstraints , установленное в GridBagConstraints.BOTH. Кроме того, компоненты имеют следующие отличные от значений по умолчанию ограничения:

  • Кнопка1, Кнопка2, Кнопка3: weightx = 1.0
  • Кнопка4: weightx = 1.0, gridwidth = GridBagConstraints.REMAINDER
  • Кнопка5: gridwidth = GridBagConstraints.REMAINDER
  • Кнопка6: gridwidth = GridBagConstraints.RELATIVE
  • Кнопка7: gridwidth = GridBagConstraints.REMAINDER
  • Кнопка8: gridheight = 2, weighty = 1.0
  • Кнопка9, Кнопка 10: gridwidth = GridBagConstraints.REMAINDER

Вот код, реализующий пример, показанный выше:

 import java.awt.*;
 import java.util.*;
 import java.applet.Applet;

 public class GridBagEx1 extends Applet {

     protected void makebutton(String name,
                               GridBagLayout gridbag,
                               GridBagConstraints c) {
         Button button = new Button(name);
         gridbag.setConstraints(button, c);
         add(button);
     }

     public void init() {
         GridBagLayout gridbag = new GridBagLayout();
         GridBagConstraints c = new GridBagConstraints();

         setFont(new Font("SansSerif", Font.PLAIN, 14));
         setLayout(gridbag);

         c.fill = GridBagConstraints.BOTH;
         c.weightx = 1.0;
         makebutton("Button1", gridbag, c);
         makebutton("Button2", gridbag, c);
         makebutton("Button3", gridbag, c);

         c.gridwidth = GridBagConstraints.REMAINDER; //end row
         makebutton("Button4", gridbag, c);

         c.weightx = 0.0;                //reset to the default
         makebutton("Button5", gridbag, c); //another row

         c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row
         makebutton("Button6", gridbag, c);

         c.gridwidth = GridBagConstraints.REMAINDER; //end row
         makebutton("Button7", gridbag, c);

         c.gridwidth = 1;                //reset to the default
         c.gridheight = 2;
         c.weighty = 1.0;
         makebutton("Button8", gridbag, c);

         c.weighty = 0.0;                //reset to the default
         c.gridwidth = GridBagConstraints.REMAINDER; //end row
         c.gridheight = 1;               //reset to the default
         makebutton("Button9", gridbag, c);
         makebutton("Button10", gridbag, c);

         setSize(300, 100);
     }

     public static void main(String args[]) {
         Frame f = new Frame("GridBag Layout Example");
         GridBagEx1 ex1 = new GridBagEx1();

         ex1.init();

         f.add("Center", ex1);
         f.pack();
         f.setSize(f.getPreferredSize());
         f.show();
     }
 }
 
Since:
1.0
See Also:
  • GridBagConstraints
  • GridBagLayoutInfo
  • ComponentOrientation
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
double[] columnWeights
Это поле содержит переопределения весов столбцов.
int[] columnWidths
Это поле содержит переопределения минимальной ширины столбцов.
protected Hashtable<Component,GridBagConstraints> comptable
Эта хэш-таблица поддерживает связь между компонентом и его ограничениями GridBagLayout.
protected GridBagConstraints defaultConstraints
Это поле содержит экземпляр ограничений GridBagLayout, содержащий значения по умолчанию. Если у компонента нет связанных с ним ограничений GridBagLayout, компонент получит копию defaultConstraints.
protected GridBagLayoutInfo layoutInfo
Это поле содержит информацию о макете для GridBagLayout.
protected static final int MAXGRIDSIZE
Это поле больше не используется для резервирования массивов и сохранено для обратной совместимости.
protected static final int MINSIZE
Наименьшая сетка, которая может быть размещена менеджером макета GridBagLayout.
protected static final int PREFERREDSIZE
Предпочтительный размер сетки, который может быть размещен менеджером макета GridBagLayout.
int[] rowHeights
Это поле содержит переопределения минимальных высот строк.
double[] rowWeights
Это поле содержит переопределения весов строк.

Краткое описание конструкторов

Конструктор Описание
GridBagLayout()
Создает менеджер макета GridBagLayout.

Краткое описание методов

Модификатор и тип Метод Описание
void addLayoutComponent(Component comp, Object constraints)
Добавляет указанный компонент в макет, используя указанный объект constraints.
void addLayoutComponent(String name, Component comp)
Не оказывает никакого влияния, так как этот менеджер макета не использует строку для каждого компонента.
protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)
Настраивает поля x, y, width и height на корректные значения в зависимости от геометрии ограничений и отступов.
protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)
Настраивает поля x, y, width и height на корректные значения в зависимости от геометрии ограничений и отступов.
protected void arrangeGrid(Container parent)
Выполняет размещение сетки.
protected void ArrangeGrid(Container parent)
Этот метод устарел и предоставлен только для обратной совместимости; новый код должен вызывать arrangeGrid вместо этого.
GridBagConstraints getConstraints(Component comp)
Получает ограничения для указанного компонента.
float getLayoutAlignmentX(Container parent)
Возвращает выравнивание по оси x.
float getLayoutAlignmentY(Container parent)
Возвращает выравнивание по оси y.
int[][] getLayoutDimensions()
Определяет ширины столбцов и высоты строк для сетки макета.
protected GridBagLayoutInfo getLayoutInfo(Container parent, int sizeflag)
Заполняет экземпляр GridBagLayoutInfo для текущего набора управляемых дочерних элементов.
protected GridBagLayoutInfo GetLayoutInfo(Container parent, int sizeflag)
Этот метод устарел и предоставлен только для обратной совместимости; новый код должен вызывать getLayoutInfo вместо этого.
Point getLayoutOrigin()
Определяет начало области макета в пространстве координат графики целевого контейнера.
double[][] getLayoutWeights()
Определяет веса столбцов и строк сетки макета.
protected Dimension getMinSize(Container parent, GridBagLayoutInfo info)
Определяет минимальный размер родительского элемента на основе информации из getLayoutInfo.
protected Dimension GetMinSize(Container parent, GridBagLayoutInfo info)
Этот метод устарел и предоставлен только для обратной совместимости; новый код должен вызывать getMinSize вместо этого.
void invalidateLayout(Container target)
Очищает макет, указывая, что если менеджер макета кэшировал информацию, ее следует удалить.
void layoutContainer(Container parent)
Выполняет размещение указанного контейнера с помощью этого макета GridBagLayout.
Point location(int x, int y)
Определяет ячейку в сетке макета, содержащую точку, заданную (x, y).
protected GridBagConstraints lookupConstraints(Component comp)
Получает ограничения для указанного компонента.
Dimension maximumLayoutSize(Container target)
Возвращает максимальные размеры для этого макета, учитывая компоненты в указанном контейнере-мишени.
Dimension minimumLayoutSize(Container parent)
Определяет минимальный размер контейнера parent с использованием этого макета GridBagLayout.
Dimension preferredLayoutSize(Container parent)
Определяет предпочтительный размер контейнера parent с использованием этого макета GridBagLayout.
void removeLayoutComponent(Component comp)
Удаляет указанный компонент из этого макета.
void setConstraints(Component comp, GridBagConstraints constraints)
Устанавливает ограничения для указанного компонента в этом макете.
String toString()
Возвращает строковое представление значений этого макета GridBagLayout.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

MAXGRIDSIZE

protected static final int MAXGRIDSIZE
Это поле больше не используется для резервирования массивов и сохранено для обратной совместимости. Ранее это было максимальное количество позиций сетки (как горизонтальных, так и вертикальных), которые могла размещать компоновка Grid Bag. Текущая реализация не накладывает никаких ограничений на размер сетки.
См. также:
  • Значения константного поля

MINSIZE

protected static final int MINSIZE
Наименьшая сетка, которую может разместить компоновка Grid Bag.
См. также:
  • Значения константного поля

PREFERREDSIZE

protected static final int PREFERREDSIZE
Предпочтительный размер сетки, который может разместить компоновка Grid Bag.
См. также:
  • Значения константного поля

comptable

protected Hashtable<Component,GridBagConstraints> comptable
Эта хэш-таблица поддерживает связь между компонентом и его ограничениями GridBag. Ключи в comptable — это компоненты, а значения — экземпляры GridBagConstraints.
См. также:
  • GridBagConstraints

defaultConstraints

protected GridBagConstraints defaultConstraints
Это поле содержит экземпляр ограничений GridBag, содержащий значения по умолчанию. Если у компонента нет связанных с ним ограничений GridBag, компонент получит копию defaultConstraints.
См. также:
  • getConstraints(Component)
  • setConstraints(Component, GridBagConstraints)
  • lookupConstraints(Component)

layoutInfo

protected GridBagLayoutInfo layoutInfo
Это поле содержит информацию о компоновке GridBag. Информация в этом поле основана на последней проверке GridBag. Если layoutInfo имеет значение null, это означает, что в GridBag нет компонентов или компоненты еще не были проверены.
См. также:
  • getLayoutInfo(Container, int)

columnWidths

public int[] columnWidths
Это поле содержит значения для переопределения минимальной ширины столбцов. Если это поле не null, значения применяются к GridBag после расчёта всех минимальных ширин столбцов. Если columnWidths содержит больше элементов, чем число столбцов, столбцы добавляются в GridBag, чтобы соответствовать количеству элементов в columnWidth.
См. также:
  • getLayoutDimensions()

rowHeights

public int[] rowHeights
Это поле содержит значения для переопределения минимальной высоты строк. Если это поле не null, значения применяются к GridBag после расчёта всех минимальных высот строк. Если rowHeights содержит больше элементов, чем число строк, строки добавляются в GridBag, чтобы соответствовать количеству элементов в rowHeights.
См. также:
  • getLayoutDimensions()

columnWeights

public double[] columnWeights
Это поле содержит значения для переопределения весов столбцов. Если это поле не null, значения применяются к GridBag после расчёта всех весов столбцов. Если columnWeights[i] > — вес для столбца i, то столбцу i назначается вес из columnWeights[i]. Если columnWeights содержит больше элементов, чем число столбцов, лишние элементы игнорируются — они не приводят к созданию дополнительных столбцов.

rowWeights

public double[] rowWeights
Это поле содержит значения для переопределения весов строк. Если это поле не null, значения применяются к GridBag после расчёта всех весов строк. Если rowWeights[i] > — вес для строки i, то строке i назначается вес из rowWeights[i]. Если rowWeights содержит больше элементов, чем число строк, лишние элементы игнорируются — они не приводят к созданию дополнительных строк.

Подробное описание конструкторов

GridBagLayout

public GridBagLayout()
Создаёт менеджер компоновки Grid Bag.

Подробное описание методов

setConstraints

public void setConstraints(Component comp, GridBagConstraints constraints)
Устанавливает ограничения для указанного компонента в этой компоновке.
Параметры:
comp - изменяемый компонент
constraints - применяемые ограничения

getConstraints

public GridBagConstraints getConstraints(Component comp)
Возвращает ограничения для указанного компонента. Возвращается копия фактического объекта GridBagConstraints.
Параметры:
comp - запрашиваемый компонент
Возвращает:
ограничения для указанного компонента в этой компоновке Grid Bag; возвращается копия фактического объекта ограничений

lookupConstraints

protected GridBagConstraints lookupConstraints(Component comp)
Получает ограничения для указанного компонента. Возвращаемое значение не является копией, а фактически является объектом GridBagConstraints используемым механизмом компоновки.

Если comp не содержится в GridBagLayout, возвращается набор ограничений по умолчанию GridBagConstraints. Значение comp со значением null является недействительным и возвращает null.

Параметры:
comp - запрашиваемый компонент
Возвращает:
ограничения для указанного компонента

getLayoutOrigin

public Point getLayoutOrigin()
Определяет начало области компоновки в пространстве графических координат целевого контейнера. Это значение представляет собой пиксельные координаты верхнего левого угла области компоновки независимо от значения ComponentOrientation контейнера. Это отличается от начала сетки, задаваемого координатами ячеек (0,0). Большинство приложений не вызывают этот метод напрямую.
Возвращает:
графическое начало ячейки в верхнем левом углу сетки компоновки
С:
1.1
См. также:
  • ComponentOrientation

getLayoutDimensions

public int[][] getLayoutDimensions()
Определяет ширины столбцов и высоты строк для сетки компоновки.

Большинство приложений не вызывают этот метод напрямую.

Возвращает:
массив из двух массивов, содержащий ширины столбцов компоновки и высоты строк компоновки
С:
1.1

getLayoutWeights

public double[][] getLayoutWeights()
Определяет веса столбцов и строк сетки компоновки. Веса используются для расчёта того, насколько данный столбец или строка будут растягиваться за пределы своего предпочтительного размера, если у компоновки есть дополнительное место для заполнения.

Большинство приложений не вызывают этот метод напрямую.

Возвращает:
массив из двух массивов, представляющих горизонтальные веса столбцов компоновки и вертикальные веса строк компоновки
С:
1.1

location

public Point location(int x, int y)
Определяет, какая ячейка сетки компоновки содержит точку, заданную (x, y). Каждая ячейка определяется своим индексом столбца (диапазон от 0 до числа столбцов минус 1) и своим индексом строки (диапазон от 0 до числа строк минус 1).

Если точка (x, y) находится за пределами сетки, применяются следующие правила. Индекс столбца возвращается как ноль, если x лежит слева от компоновки для контейнера слева направо или справа от компоновки для контейнера справа налево. Индекс столбца возвращается как число столбцов, если x лежит справа от компоновки в контейнере слева направо или слева в контейнере справа налево. Индекс строки возвращается как ноль, если y лежит над компоновкой, и как число строк, если y лежит под компоновкой. Направление контейнера определяется его свойством ComponentOrientation.

Параметры:
x - координата x точки
y - координата y точки
Возвращает:
упорядоченная пара индексов, которые указывают, какая ячейка в сетке компоновки содержит точку (x, y).
С:
1.1
См. также:
  • ComponentOrientation

addLayoutComponent

public void addLayoutComponent(String name, Component comp)
Не оказывает никакого эффекта, так как этот менеджер компоновки не использует строку для каждого компонента.
Specified by:
addLayoutComponent в интерфейсе LayoutManager
Параметры:
name - строка, которая должна быть ассоциирована с компонентом
comp - компонент, который нужно добавить

addLayoutComponent

public void addLayoutComponent(Component comp, Object constraints)
Добавляет указанный компонент в компоновку, используя указанный объект constraints. Обратите внимание, что ограничения изменяемы и поэтому клонируются при кэшировании.
Specified by:
addLayoutComponent в интерфейсе LayoutManager2
Параметры:
comp - компонент, который нужно добавить
constraints - объект, определяющий, как компонент добавляется в компоновку
Исключения:
IllegalArgumentException - если constraints не является объектом GridBagConstraint

removeLayoutComponent

public void removeLayoutComponent(Component comp)
Удаляет указанный компонент из этой компоновки.

Большинство приложений не вызывают этот метод напрямую.

Specified by:
removeLayoutComponent в интерфейсе LayoutManager
Параметры:
comp - компонент, который нужно удалить.
См. также:
  • Container.remove(java.awt.Component)
  • Container.removeAll()

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)
Определяет предпочтительный размер контейнера parent с использованием этой компоновки Grid Bag.

Большинство приложений не вызывают этот метод напрямую.

Specified by:
preferredLayoutSize в интерфейсе LayoutManager
Параметры:
parent - контейнер, в котором необходимо выполнить компоновку
Возвращает:
предпочтительный размер контейнера parent
См. также:
  • Container.getPreferredSize()

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
Определяет минимальный размер контейнера parent с использованием этой компоновки Grid Bag.

Большинство приложений не вызывают этот метод напрямую.

Specified by:
minimumLayoutSize в интерфейсе LayoutManager
Параметры:
parent - контейнер, в котором необходимо выполнить компоновку
Возвращает:
минимальный размер контейнера parent
См. также:
  • Container.doLayout()

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)
Возвращает максимальные размеры для этой компоновки, учитывая компоненты в указанном контейнере.
Specified by:
maximumLayoutSize в интерфейсе LayoutManager2
Параметры:
target - контейнер, который нужно компоновать
Возвращает:
максимальные размеры для этой компоновки
См. также:
  • Container
  • minimumLayoutSize(Container)
  • preferredLayoutSize(Container)

getLayoutAlignmentX

public float getLayoutAlignmentX(Container parent)
Возвращает выравнивание по оси x. Это определяет, как компонент хочет выровняться относительно других компонентов. Значение должно быть числом от 0 до 1, где 0 соответствует выравниванию по началу координат, 1 — выравнивание как можно дальше от начала координат, 0,5 — центрирование и т. д.
Specified by:
getLayoutAlignmentX в интерфейсе LayoutManager2
Параметры:
parent - целевой контейнер
Возвращает:
значение 0.5f для обозначения центрирования

getLayoutAlignmentY

public float getLayoutAlignmentY(Container parent)
Возвращает выравнивание по оси y. Это определяет, как компонент хочет выровняться относительно других компонентов. Значение должно быть числом от 0 до 1, где 0 соответствует выравниванию по началу координат, 1 — выравнивание как можно дальше от начала координат, 0,5 — центрирование и т. д.
Specified by:
getLayoutAlignmentY в интерфейсе LayoutManager2
Параметры:
parent - целевой контейнер
Возвращает:
значение 0.5f для обозначения центрирования

invalidateLayout

public void invalidateLayout(Container target)
Делает компоновку недействительной, указывая, что если менеджер компоновки кэшировал информацию, её следует отбросить.
Specified by:
invalidateLayout в интерфейсе LayoutManager2
Параметры:
target - целевой контейнер

layoutContainer

public void layoutContainer(Container parent)
Компонует указанный контейнер с помощью этой компоновки Grid Bag. Этот метод изменяет форму компонентов в указанном контейнере, чтобы удовлетворить ограничениям этого объекта GridBagLayout.

Большинство приложений не вызывают этот метод напрямую.

Specified by:
layoutContainer в интерфейсе LayoutManager
Параметры:
parent - контейнер, в котором нужно выполнить компоновку
См. также:
  • Container
  • Container.doLayout()

toString

public String toString()
Возвращает строковое представление значений этой компоновки Grid Bag.
Overrides:
toString в классе Object
Возвращает:
строковое представление этой компоновки Grid Bag.

getLayoutInfo

protected GridBagLayoutInfo getLayoutInfo(Container parent, int sizeflag)
Заполняет экземпляр GridBagLayoutInfo для текущего набора управляемых дочерних элементов. Это требует трёх проходов по набору дочерних элементов:
  1. Определить размеры сетки компоновки.
  2. Определить, какие ячейки занимают компоненты.
  3. Распределить веса и минимальные размеры среди строк/столбцов.
При этом также кэшируются минимальные размеры для всех дочерних элементов при их первом обнаружении (чтобы последующие циклы не запрашивали их повторно).

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

Параметры:
parent - контейнер компоновки
sizeflag - либо PREFERREDSIZE, либо MINSIZE
Возвращает:
экземпляр GridBagLayoutInfo для набора дочерних элементов
Since:
1.4

GetLayoutInfo

protected GridBagLayoutInfo GetLayoutInfo(Container parent, int sizeflag)
Этот метод устарел и предоставлен только для обратной совместимости; новый код должен вызывать getLayoutInfo вместо него. Заполняет экземпляр GridBagLayoutInfo для текущего набора управляемых дочерних элементов. Этот метод аналогичен getLayoutInfo; подробности см. в описании getLayoutInfo.
Параметры:
parent - контейнер компоновки
sizeflag - либо PREFERREDSIZE, либо MINSIZE
Возвращает:
экземпляр GridBagLayoutInfo для набора дочерних элементов

adjustForGravity

protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)
Корректирует поля x, y, width и height до правильных значений в зависимости от геометрии ограничений и отступов. Этот метод должен использоваться только внутри GridBagLayout.
Параметры:
constraints - применяемые ограничения
r - Rectangle для корректировки
Since:
1.4

AdjustForGravity

protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)
Корректирует поля x, y, width и height до правильных значений в зависимости от геометрии ограничений и отступов.

Этот метод устарел и предоставлен только для обратной совместимости; новый код должен вызывать adjustForGravity вместо него. Этот метод аналогичен adjustForGravity

Параметры:
constraints - применяемые ограничения
r - Rectangle для корректировки

getMinSize

protected Dimension getMinSize(Container parent, GridBagLayoutInfo info)
Вычисляет минимальный размер родителя на основе информации из getLayoutInfo. Этот метод должен использоваться только внутри GridBagLayout.
Параметры:
parent - контейнер компоновки
info - информация о компоновке для этого родителя
Возвращает:
объект Dimension, содержащий минимальный размер
Since:
1.4

Получить минимальный размер

protected Dimension GetMinSize(Container parent, GridBagLayoutInfo info)
Этот метод устарел и предоставляется только для обратной совместимости; новый код должен вызывать getMinSize вместо него. Этот метод такой же, как getMinSize
Параметры:
parent - контейнер макета
info - информация о макете для этого родительского элемента
Возвращает:
объект Dimension, содержащий минимальный размер

arrangeGrid

protected void arrangeGrid(Container parent)
Выстраивает сетку. Этот метод должен использоваться только внутри GridBagLayout.
Параметры:
parent - контейнер макета
С:
1.4

ArrangeGrid

protected void ArrangeGrid(Container parent)
Этот метод устарел и предоставляется только для обратной совместимости; новый код должен вызывать arrangeGrid вместо него. Этот метод такой же, как arrangeGrid
Параметры:
parent - контейнер макета

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/GridBagLayout.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API