Класс 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.
Рисунок 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()
- Since:
- 1.1
GridLayout
public GridLayout(int rows, int cols)
Одно, но не оба, из rows и cols может быть нулевым, что означает, что любое количество объектов может быть размещено в строке или столбце.
- Parameters:
-
rows- количество строк, значение ноль означает любое количество строк. -
cols- количество столбцов, значение ноль означает любое количество столбцов.
GridLayout
public GridLayout(int rows, int cols, int hgap, int vgap)
Кроме того, горизонтальные и вертикальные отступы устанавливаются до указанных значений. Горизонтальные отступы размещаются между каждым столбцом. Вертикальные отступы размещаются между каждой строкой.
Одно, но не оба, из rows и cols может быть нулевым, что означает, что любое количество объектов может быть размещено в строке или столбце.
Все GridLayout конструкторы делегируют этому.
- Parameters:
-
rows- количество строк, значение ноль означает любое количество строк -
cols- количество столбцов, значение ноль означает любое количество столбцов -
hgap- горизонтальный отступ -
vgap- вертикальный отступ - Throws:
-
IllegalArgumentException- если значение какrows, так иcolsустановлено в ноль
Подробное описание методов
getRows
public int getRows()
- Returns:
- количество строк в этом макете
- Since:
- 1.1
setRows
public void setRows(int rows)
- Parameters:
-
rows- количество строк в этом макете - Throws:
-
IllegalArgumentException- если значение какrows, так иcolsустановлено в ноль - Since:
- 1.1
getColumns
public int getColumns()
- Returns:
- количество столбцов в этом макете
- Since:
- 1.1
setColumns
public void setColumns(int cols)
setRows, не равно нулю. В этом случае количество отображаемых столбцов в макете определяется общим количеством компонентов и количеством строк, указанных.- Parameters:
-
cols- количество столбцов в этом макете - Throws:
-
IllegalArgumentException- если значение какrows, так иcolsустановлено в ноль - Since:
- 1.1
getHgap
public int getHgap()
- Returns:
- горизонтальный отступ между компонентами
- Since:
- 1.1
setHgap
public void setHgap(int hgap)
- Parameters:
-
hgap- горизонтальный отступ между компонентами - Since:
- 1.1
getVgap
public int getVgap()
- Returns:
- вертикальный отступ между компонентами
- Since:
- 1.1
setVgap
public void setVgap(int vgap)
- Parameters:
-
vgap- вертикальный отступ между компонентами - Since:
- 1.1
addLayoutComponent
public void addLayoutComponent(String name, Component comp)
- Specified by:
-
addLayoutComponentв интерфейсеLayoutManager - Parameters:
-
name- имя компонента -
comp- добавляемый компонент
removeLayoutComponent
public void removeLayoutComponent(Component comp)
- Specified by:
-
removeLayoutComponentв интерфейсеLayoutManager - Parameters:
-
comp- удаляемый компонент
preferredLayoutSize
public Dimension preferredLayoutSize(Container parent)
Предпочтительная ширина макета сетки — это максимальная предпочтительная ширина всех компонентов в контейнере, умноженная на количество столбцов, плюс горизонтальный отступ, умноженный на количество столбцов минус один, плюс отступы слева и справа целевого контейнера.
Предпочтительная высота макета сетки — это максимальная предпочтительная высота всех компонентов в контейнере, умноженная на количество строк, плюс вертикальный отступ, умноженный на количество строк минус один, плюс отступы сверху и снизу целевого контейнера.
- Specified by:
-
preferredLayoutSizeв интерфейсеLayoutManager - Parameters:
-
parent- контейнер, в котором нужно выполнить макетирование - Returns:
- предпочтительные размеры для размещения подкомпонентов указанного контейнера
- See Also:
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
Минимальная ширина макета сетки — это максимальная минимальная ширина всех компонентов в контейнере, умноженная на количество столбцов, плюс горизонтальный отступ, умноженный на количество столбцов минус один, плюс отступы слева и справа целевого контейнера.
Минимальная высота макета сетки — это максимальная минимальная высота всех компонентов в контейнере, умноженная на количество строк, плюс вертикальный отступ, умноженный на количество строк минус один, плюс отступы сверху и снизу целевого контейнера.
- Specified by:
-
minimumLayoutSizeв интерфейсеLayoutManager - Parameters:
-
parent- контейнер, в котором нужно выполнить макетирование - Returns:
- минимальные размеры, необходимые для размещения подкомпонентов указанного контейнера
- See Also:
layoutContainer
public void layoutContainer(Container parent)
Этот метод изменяет форму компонентов в указанном целевом контейнере, чтобы удовлетворить ограничениям объекта GridLayout.
Менеджер макета сетки определяет размер отдельных компонентов, разделив свободное пространство в контейнере на равные части в соответствии с количеством строк и столбцов в макете. Свободное пространство контейнера равно размеру контейнера минус любые отступы и любые указанные горизонтальные или вертикальные отступы. Все компоненты в макете сетки имеют одинаковый размер.
- Specified by:
-
layoutContainerв интерфейсеLayoutManager - Parameters:
-
parent- контейнер, в котором нужно выполнить макетирование - See Also:
toString
public String toString()
- Overrides:
-
toStringв классеObject - Returns:
- строковое представление этого макета сетки
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/GridLayout.html