Класс GridLayout

Все реализованные интерфейсы:
LayoutManager, Serializable
public class GridLayout
extends Object
implements LayoutManager, Serializable

Класс GridLayout — это менеджер компоновки, который выкладывает компоненты контейнера в прямоугольную сетку. Контейнер делится на равные прямоугольники, и каждый прямоугольник содержит один компонент. Например, следующий апплет выкладывает шесть кнопок в три строки и два столбца:

import java.awt.*;
import java.applet.Applet;
public class ButtonGrid extends Applet {
    public void init() {
        setLayout(new GridLayout(3,2));
        add(new Button("1"));
        add(new Button("2"));
        add(new Button("3"));
        add(new Button("4"));
        add(new Button("5"));
        add(new Button("6"));
    }
}

Если свойство контейнера ComponentOrientation горизонтальное и слева направо, то вышеприведённый пример даст результат, представленный на рисунке 1. Если свойство контейнера ComponentOrientation горизонтальное и справа налево, то пример даст результат, представленный на рисунке 2.

Shows 6 buttons in rows of 2. Row 1 shows buttons 1 then 2.
 Row 2 shows buttons 3 then 4. Row 3 shows buttons 5 then 6. Shows 6 buttons in rows of 2. Row 1 shows buttons 2 then 1.
 Row 2 shows buttons 4 then 3. Row 3 shows buttons 6 then 5.
Рисунок 1: Горизонтально, слева направо Рисунок 2: Горизонтально, справа налево

Когда количество строк и столбцов установлено в ненулевые значения, либо в конструкторе, либо методами setRows и setColumns, заданное число столбцов игнорируется. Вместо этого, количество столбцов определяется заданным числом строк и общим числом компонентов в компоновке. Например, если заданы три строки и два столбца, а в компоновку добавлено девять компонентов, они будут отображены как три строки по три столбца. Задание числа столбцов влияет на компоновку только тогда, когда число строк равно нулю.

С момента:
1.0
См. также:
Сериализованная форма

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

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

Создаёт компоновку сетки по умолчанию с одним столбцом на компонент в одной строке.

GridLayout​(int rows, int cols)

Создаёт компоновку сетки со заданным количеством строк и столбцов.

GridLayout​(int rows, int cols, int hgap, int vgap)

Создаёт компоновку сетки со заданным количеством строк и столбцов.

Методы

Модификатор и тип Метод Описание
void addLayoutComponent​(String name, Component comp)

Добавляет указанный компонент с указанным именем в компоновку.

int getColumns()

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

int getHgap()

Возвращает горизонтальный зазор между компонентами.

int getRows()

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

int getVgap()

Возвращает вертикальный зазор между компонентами.

void layoutContainer​(Container parent)

Размещает указанный контейнер с помощью этой компоновки.

Dimension minimumLayoutSize​(Container parent)

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

Dimension preferredLayoutSize​(Container parent)

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

void removeLayoutComponent​(Component comp)

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

void setColumns​(int cols)

Устанавливает количество столбцов в этой компоновке на указанное значение.

void setHgap​(int hgap)

Устанавливает горизонтальный зазор между компонентами на указанное значение.

void setRows​(int rows)

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

void setVgap​(int vgap)

Устанавливает вертикальный зазор между компонентами на указанное значение.

String toString()

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

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

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

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

GridLayout

public GridLayout()

Создаёт макет сетки по умолчанию с одним столбцом на компонент в единственной строке.

Since:
1.1

GridLayout

public GridLayout(int rows,
                  int cols)

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

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

Параметры:
rows - строки, значение ноль означает любое количество строк.
cols - столбцы, значение ноль означает любое количество столбцов.

GridLayout

public GridLayout(int rows,
                  int cols,
                  int hgap,
                  int vgap)

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

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

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

Все GridLayout конструкторы делегируют выполнение этому.

Параметры:
rows - строки, значение ноль означает любое количество строк
cols - столбцы, значение ноль означает любое количество столбцов
hgap - горизонтальный отступ
vgap - вертикальный отступ
Исключения:
IllegalArgumentException - если значение обоих rows и cols установлено в ноль

Методы

getRows

public int getRows()

Возвращает количество строк в этом макете.

Возвращает:
количество строк в этом макете
Since:
1.1

setRows

public void setRows(int rows)

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

Параметры:
rows - количество строк в этом макете
Исключения:
IllegalArgumentException - если значение обоих rows и cols установлено в ноль
Since:
1.1

getColumns

public int getColumns()

Возвращает количество столбцов в этом макете.

Возвращает:
количество столбцов в этом макете
Since:
1.1

setColumns

public void setColumns(int cols)

Устанавливает количество столбцов в этом макете в указанное значение. Установка количества столбцов не влияет на макет, если количество строк, указанное в конструкторе или методом setRows, не равно нулю. В этом случае количество отображаемых столбцов в макете определяется общим количеством компонентов и количеством строк, указанных в макете.

Параметры:
cols - количество столбцов в этом макете
Исключения:
IllegalArgumentException - если значение обоих rows и cols установлено в ноль
Since:
1.1

getHgap

public int getHgap()

Возвращает горизонтальный отступ между компонентами.

Возвращает:
горизонтальный отступ между компонентами
Since:
1.1

setHgap

public void setHgap(int hgap)

Устанавливает горизонтальный отступ между компонентами в указанное значение.

Параметры:
hgap - горизонтальный отступ между компонентами
Since:
1.1

getVgap

public int getVgap()

Возвращает вертикальный отступ между компонентами.

Возвращает:
вертикальный отступ между компонентами
Since:
1.1

setVgap

public void setVgap(int vgap)

Устанавливает вертикальный отступ между компонентами в указанное значение.

Параметры:
vgap - вертикальный отступ между компонентами
Since:
1.1

addLayoutComponent

public void addLayoutComponent(String name,
                               Component comp)

Добавляет указанный компонент с указанным именем в макет.

Определено в:
addLayoutComponent в интерфейсе LayoutManager
Параметры:
name - имя компонента
comp - добавляемый компонент

removeLayoutComponent

public void removeLayoutComponent(Component comp)

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

Определено в:
removeLayoutComponent в интерфейсе LayoutManager
Параметры:
comp - компонент для удаления

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)

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

Предпочтительная ширина макета сетки — это максимальная предпочтительная ширина всех компонентов в контейнере, умноженная на количество столбцов, плюс горизонтальный отступ, умноженный на количество столбцов минус один, плюс отступы слева и справа целевого контейнера.

Предпочтительная высота макета сетки — это максимальная предпочтительная высота всех компонентов в контейнере, умноженная на количество строк, плюс вертикальный отступ, умноженный на количество строк минус один, плюс отступы сверху и снизу целевого контейнера.

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)

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

Минимальная ширина макета сетки — это максимальная минимальная ширина всех компонентов в контейнере, умноженная на количество столбцов, плюс горизонтальный отступ, умноженный на количество столбцов минус один, плюс отступы слева и справа целевого контейнера.

Минимальная высота макета сетки — это максимальная минимальная высота всех компонентов в контейнере, умноженная на количество строк, плюс вертикальный отступ, умноженный на количество строк минус один, плюс отступы сверху и снизу целевого контейнера.

layoutContainer

public void layoutContainer(Container parent)

Размещает указанный контейнер с использованием этого макета.

Этот метод перестраивает компоненты в указанном целевом контейнере, чтобы удовлетворить ограничениям объекта GridLayout.

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

toString

public String toString()

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

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

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/GridLayout.html

Spec-Zone .ru
спецификации, руководства, описания, API