Класс GridLayout
- Все реализуемые интерфейсы:
LayoutManager, Serializable
public class GridLayout extends Object implements LayoutManager, Serializable
GridLayout — это менеджер компоновки, который размещает компоненты контейнера в прямоугольной сетке. Контейнер делится на прямоугольники одинакового размера, и в каждый прямоугольник помещается один компонент. Например, ниже показано окно, в котором шесть кнопок размещены в три строки и два столбца: import java.awt.Button;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.GridLayout;
public class GridLayoutExample {
public static void main(String[] args) throws Exception {
EventQueue.invokeAndWait(() -> {
Frame frame = new Frame("GridLayout");
frame.setLayout(new GridLayout(3, 2));
frame.add(new Button("1"));
frame.add(new Button("2"));
frame.add(new Button("3"));
frame.add(new Button("4"));
frame.add(new Button("5"));
frame.add(new Button("6"));
frame.setSize(200, 200);
frame.setVisible(true);
});
}
}
Если свойство ComponentOrientation контейнера имеет значение «горизонтальное» и направление слева направо, приведённый выше пример создаёт вывод, показанный на рисунке 1. Если свойство ComponentOrientation контейнера имеет значение «горизонтальное» и направление справа налево, пример создаёт вывод, показанный на рисунке 2.
Рисунок 1: горизонтальное направление, слева направо
Рисунок 2: горизонтальное направление, справа налево
Если и число строк, и число столбцов заданы ненулевыми значениями — конструктором или методами setRows и setColumns, — указанное число столбцов игнорируется. Вместо этого число столбцов определяется исходя из заданного числа строк и общего количества компонентов в компоновке. Например, если заданы три строки и два столбца и в компоновку добавлены девять компонентов, они будут отображены в виде трёх строк по три столбца. Указание числа столбцов влияет на компоновку только в том случае, если число строк равно нулю.
- Начиная с:
- 1.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
GridLayout() |
Создаёт компоновку-сетку с одним столбцом на компонент по умолчанию, в одной строке. |
GridLayout |
Создаёт компоновку-сетку с указанным числом строк и столбцов. |
GridLayout |
Создаёт компоновку-сетку с указанным числом строк и столбцов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addLayoutComponent |
Добавляет указанный компонент с указанным именем в компоновку. |
int |
getColumns() |
Возвращает число столбцов в этой компоновке. |
int |
getHgap() |
Возвращает горизонтальный промежуток между компонентами. |
int |
getRows() |
Возвращает число строк в этой компоновке. |
int |
getVgap() |
Возвращает вертикальный промежуток между компонентами. |
void |
layoutContainer |
Размещает указанный контейнер с использованием этой компоновки. |
Dimension |
minimumLayoutSize |
Определяет минимальный размер аргумента-контейнера с использованием этой компоновки-сетки. |
Dimension |
preferredLayoutSize |
Определяет предпочтительный размер аргумента-контейнера с использованием этой компоновки-сетки. |
void |
removeLayoutComponent |
Удаляет указанный компонент из компоновки. |
void |
setColumns |
Задаёт указанное число столбцов в этой компоновке. |
void |
setHgap |
Задаёт указанное значение горизонтального промежутка между компонентами. |
void |
setRows |
Задаёт указанное число строк в этой компоновке. |
void |
setVgap |
Задаёт указанное значение вертикального промежутка между компонентами. |
String |
toString() |
Возвращает строковое представление значений этой компоновки-сетки. |
Подробное описание конструкторов
GridLayout
public GridLayout()
- Начиная с:
- 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()
- Возвращает:
- число строк в этой компоновке
- Начиная с:
- 1.1
setRows
public void setRows(int rows)
- Параметры:
-
rows— число строк в этой компоновке - Вызывает исключение:
-
IllegalArgumentException— если значенияrowsиcolsоба равны нулю - Начиная с:
- 1.1
getColumns
public int getColumns()
- Возвращает:
- число столбцов в этой компоновке
- Начиная с:
- 1.1
setColumns
public void setColumns(int cols)
setRows, не равно нулю. В этом случае число столбцов, отображаемых в компоновке, определяется общим числом компонентов и заданным числом строк.- Параметры:
-
cols— число столбцов в этой компоновке - Вызывает исключение:
-
IllegalArgumentException— если значенияrowsиcolsоба равны нулю - Начиная с:
- 1.1
getHgap
public int getHgap()
- Возвращает:
- горизонтальный промежуток между компонентами
- Начиная с:
- 1.1
setHgap
public void setHgap(int hgap)
- Параметры:
-
hgap— горизонтальный промежуток между компонентами - Начиная с:
- 1.1
getVgap
public int getVgap()
- Возвращает:
- вертикальный промежуток между компонентами
- Начиная с:
- 1.1
setVgap
public void setVgap(int vgap)
- Параметры:
-
vgap— вертикальный промежуток между компонентами - Начиная с:
- 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)
Предпочтительная ширина компоновки-сетки равна наибольшей предпочтительной ширине всех компонентов контейнера, умноженной на число столбцов, плюс горизонтальные отступы, умноженные на число столбцов минус один, плюс левый и правый внутренние отступы целевого контейнера.
Предпочтительная высота компоновки-сетки равна наибольшей предпочтительной высоте всех компонентов контейнера, умноженной на число строк, плюс вертикальные отступы, умноженные на число строк минус один, плюс верхний и нижний внутренние отступы целевого контейнера.
- Определено в:
-
preferredLayoutSizeв интерфейсеLayoutManager - Параметры:
-
parent— контейнер, в котором выполняется компоновка - Возвращает:
- предпочтительные размеры для размещения подкомпонентов указанного контейнера
- См. также:
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
Минимальная ширина компоновки-сетки равна наибольшей минимальной ширине всех компонентов контейнера, умноженной на число столбцов, плюс горизонтальные отступы, умноженные на число столбцов минус один, плюс левый и правый внутренние отступы целевого контейнера.
Минимальная высота компоновки-сетки равна наибольшей минимальной высоте всех компонентов контейнера, умноженной на число строк, плюс вертикальные отступы, умноженные на число строк минус один, плюс верхний и нижний внутренние отступы целевого контейнера.
- Определено в:
-
minimumLayoutSizeв интерфейсеLayoutManager - Параметры:
-
parent— контейнер, в котором выполняется компоновка - Возвращает:
- минимальные размеры, необходимые для размещения подкомпонентов указанного контейнера
- См. также:
layoutContainer
public void layoutContainer(Container parent)
Этот метод изменяет размеры и положение компонентов в указанном целевом контейнере, чтобы удовлетворить ограничениям объекта GridLayout.
Менеджер компоновки-сетки определяет размер отдельных компонентов, разделяя свободное пространство контейнера на равные части в соответствии с числом строк и столбцов в компоновке. Свободное пространство контейнера равно размеру контейнера за вычетом внутренних отступов и заданных горизонтальных или вертикальных промежутков. Всем компонентам в компоновке-сетке задаётся одинаковый размер.
- Определено в:
-
layoutContainerв интерфейсеLayoutManager - Параметры:
-
parent— контейнер, в котором выполняется компоновка - См. также:
toString
© 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/GridLayout.html