Spec-Zone.ru › OpenJDK 27

Класс 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 — вниз.

Для эффективного использования компоновки GridBag необходимо настроить один или несколько объектов 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 размещает всё дополнительное пространство между своей сеткой ячеек и границами контейнера.

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

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

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

The following text describes this graphic (Figure 1).

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

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

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

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

The preceding text describes this graphic (Figure 2).

Рисунок 2. Горизонтальная ориентация слева направо

The preceding text describes this graphic (Figure 3).

Рисунок 3. Горизонтальная ориентация справа налево


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

  • Button1, Button2, Button3: weightx = 1.0
  • Button4: weightx = 1.0, gridwidth = GridBagConstraints.REMAINDER
  • Button5: gridwidth = GridBagConstraints.REMAINDER
  • Button6: gridwidth = GridBagConstraints.RELATIVE
  • Button7: gridwidth = GridBagConstraints.REMAINDER
  • Button8: gridheight = 2, weighty = 1.0
  • Button9, Button 10: gridwidth = GridBagConstraints.REMAINDER

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

import java.awt.Button;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

public class GridBagLayoutExample {

    private static void addButton(String name,
                                  GridBagLayout gridbag,
                                  GridBagConstraints c,
                                  Frame frame) {
        Button button = new Button(name);
        gridbag.setConstraints(button, c);
        frame.add(button);
    }

    public static void main(String[] args) throws Exception {
        EventQueue.invokeAndWait(() -> {
            Frame frame = new Frame("GridBagLayout");
            GridBagLayout gridbag = new GridBagLayout();
            GridBagConstraints c = new GridBagConstraints();
            frame.setLayout(gridbag);

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

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

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

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

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

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

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

            frame.pack();
            frame.setVisible(true);
        });
    }
}
С момента появления:
1.0
См. также:
  • GridBagConstraints
  • GridBagLayoutInfo
  • ComponentOrientation
  • Сериализованная форма

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

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

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

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

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

Модификатор и тип Метод Описание
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)
Выполняет компоновку указанного контейнера с помощью этой компоновки GridBag.
Point location(int x, int y)
Определяет, в какой ячейке сетки компоновки находится точка, заданная параметром (x, y).
protected GridBagConstraints lookupConstraints(Component comp)
Получает ограничения для указанного компонента.
Dimension maximumLayoutSize(Container target)
Возвращает максимальные размеры этой компоновки с учетом компонентов в указанном целевом контейнере.
Dimension minimumLayoutSize(Container parent)
Определяет минимальный размер контейнера parent с использованием этой компоновки GridBag.
Dimension preferredLayoutSize(Container parent)
Определяет предпочтительный размер контейнера parent с использованием этой компоновки GridBag.
void removeLayoutComponent(Component comp)
Удаляет указанный компонент из этой компоновки.
void setConstraints(Component comp, GridBagConstraints constraints)
Задает ограничения для указанного компонента в этой компоновке.
String toString()
Возвращает строковое представление значений этой компоновки GridBag.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени.

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

MAXGRIDSIZE

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

MINSIZE

protected static final int MINSIZE
Минимальная сетка, которую можно разместить с помощью компоновщика GridBagLayout.
См. также:
  • Значения константных полей

PREFERREDSIZE

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

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 после вычисления весов всех столбцов. Если для столбца i задан вес columnWeights[i] >, столбцу i назначается вес из columnWeights[i]. Если в columnWeights больше элементов, чем столбцов, лишние элементы игнорируются — они не приводят к созданию дополнительных столбцов.

rowWeights

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

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

GridBagLayout

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

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

setConstraints

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

getConstraints

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

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)
Не выполняет никаких действий, поскольку этот менеджер компоновки не использует строку для каждого компонента.
Определено в:
addLayoutComponent в интерфейсе LayoutManager
Параметры:
name — строка, связываемая с компонентом
comp — добавляемый компонент

addLayoutComponent

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

removeLayoutComponent

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

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

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

preferredLayoutSize

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

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

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

minimumLayoutSize

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

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

Определено в:
minimumLayoutSize в интерфейсе LayoutManager
Параметры:
parent — контейнер, в котором выполняется компоновка
Возвращает:
минимальный размер контейнера parent
См. также:
  • Container.doLayout()

maximumLayoutSize

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

getLayoutAlignmentX

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

getLayoutAlignmentY

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

invalidateLayout

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

layoutContainer

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

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

Определено в:
layoutContainer в интерфейсе LayoutManager
Параметры:
parent — контейнер, в котором выполняется компоновка
См. также:
  • Container
  • Container.doLayout()

toString

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

getLayoutInfo

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

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

Параметры:
parent — контейнер компоновки
sizeflag — либо PREFERREDSIZE, либо MINSIZE
Возвращает:
GridBagLayoutInfo для набора дочерних компонентов
Начиная с:
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, который нужно скорректировать
Начиная с:
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, содержащий минимальный размер
Начиная с:
1.4

GetMinSize

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 — контейнер компоновки

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

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