Spec-Zone.ru › OpenJDK 25

Класс 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

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

MAXGRIDSIZE

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

MINSIZE

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

PREFERREDSIZE

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

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()
Создаёт менеджер компоновки 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/GridBagLayout.html

Spec-Zone.ru

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