Spec-Zone.ru › OpenJDK 8

Класс 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 , изменяются только в том случае, если базовая линия в изменённом размере помещается в область отображения. Если базовая линия не помещается в область отображения, компонент не изменяется.
  • Компоненты, расположенные на базовой линии, не имеющие поведения изменения размера базовой линии OTHER , могут расти только до высоты display height - baseline + baseline of component .
Если вы размещаете компонент вдоль базовой линии, но компонент не имеет допустимой базовой линии, он будет выровнен по вертикали по центру своего места. Аналогично, если вы разместили компонент относительно базовой линии, и ни один из компонентов в строке не имеет допустимой базовой линии, компонент выравнивается по вертикали по центру.

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

The preceding text describes this graphic (Figure 1). The preceding text describes this graphic (Figure 2).
Рисунок 2: Горизонтально, слева направо Рисунок 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();
    }
}
С момента:
JDK1.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 int MAXGRIDSIZE

Это поле больше не используется для резервирования массивов и сохраняется для обратной совместимости.

protected static int MINSIZE

Наименьшая сетка, которую может выложить макет grid bag.

protected static int PREFERREDSIZE

Предпочтительный размер сетки, который может быть выложен макетом grid bag.

int[] rowHeights

Это поле содержит переопределения минимальных высот строк.

double[] rowWeights

Это поле содержит переопределения весов строк.

Конструкторы

Конструктор и описание
GridBagLayout()

Создаёт менеджер макета grid bag.

Методы

Модификатор и тип Метод и описание
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)

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

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)

Выстраивает указанный контейнер, используя этот макет grid bag.

Point location(int x, int y)

Определяет ячейку в сетке макета, которая содержит точку, заданную (x, y).

protected GridBagConstraints lookupConstraints(Component comp)

Возвращает ограничения для указанного компонента.

Dimension maximumLayoutSize(Container target)

Возвращает максимальные размеры для этого макета, учитывая компоненты в указанном целевом контейнере.

Dimension minimumLayoutSize(Container parent)

Определяет минимальный размер контейнера parent с использованием этого макета grid bag.

Dimension preferredLayoutSize(Container parent)

Определяет предпочтительный размер контейнера parent с использованием этого макета grid bag.

void removeLayoutComponent(Component comp)

Удаляет указанный компонент из этого макета.

void setConstraints(Component comp, GridBagConstraints constraints)

Устанавливает ограничения для указанного компонента в этом макете.

String toString()

Возвращает строковое представление значений этого макета grid bag.

Методы, унаследованные от класса 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). Большинство приложений не вызывают этот метод напрямую.

Возвращает:
графическое начало ячейки в левом верхнем углу сетки компоновки
С:
JDK1.1
См. также:
ComponentOrientation

getLayoutDimensions

public int[][] getLayoutDimensions()

Определяет ширину столбцов и высоту строк для сетки компоновки.

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

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

getLayoutWeights

public double[][] getLayoutWeights()

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

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

Возвращает:
массив из двух массивов, представляющий горизонтальные веса столбцов компоновки и вертикальные веса строк компоновки
С:
JDK1.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).
С:
JDK1.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 с использованием этой компоновки Grid Bag.

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

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

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)

Определяет минимальный размер контейнера parent с помощью этого макета GridBagLayout.

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

Определено в:
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
Возвращает:
значение 0.5f для обозначения центрирования

getLayoutAlignmentY

public float getLayoutAlignmentY(Container parent)

Возвращает выравнивание по оси y. Это указывает, как компонент хочет быть выровнен относительно других компонентов. Значение должно быть числом от 0 до 1, где 0 соответствует выравниванию по началу, 1 — выравниванию как можно дальше от начала, 0,5 — центрирование и т. д.

Определено в:
getLayoutAlignmentY в интерфейсе LayoutManager2
Возвращает:
значение 0.5f для обозначения центрирования

invalidateLayout

public void invalidateLayout(Container target)

Делает макет недействительным, указывая, что, если менеджер макета кэшировал информацию, он должен её удалить.

Определено в:
invalidateLayout в интерфейсе LayoutManager2

layoutContainer

public void layoutContainer(Container parent)

Размещает указанный контейнер с помощью макета GridBagLayout. Этот метод изменяет размеры компонентов в указанном контейнере, чтобы удовлетворить ограничениям этого объекта GridBagLayout.

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

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

toString

public String toString()

Возвращает строковое представление значений этого макета GridBagLayout.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого макета GridBagLayout.

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 вместо него. Этот метод аналогичен getLayoutInfo; см. getLayoutInfo для подробностей о параметрах и возвращаемом значении.

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)

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

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; см. getMinSize для подробностей о параметрах и возвращаемом значении.

arrangeGrid

protected void arrangeGrid(Container parent)

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

Параметры:
parent - контейнер макета
С:
1.4

ArrangeGrid

protected void ArrangeGrid(Container parent)

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

© 1993, 2020, 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