Класс GridLayout
- java.lang.Object
-
- java.awt.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, указанное количество столбцов игнорируется. Вместо этого, количество столбцов определяется исходя из указанного количества строк и общего количества компонентов в компоновке. Например, если указано три строки и два столбца, а в компоновку добавлено девять компонентов, они будут отображены как три строки по три столбца. Указание количества столбцов влияет на компоновку только тогда, когда количество строк установлено в ноль.
- С тех пор как:
- JDK1.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:
- JDK1.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:
- JDK1.1
setRows
public void setRows(int rows)
Устанавливает количество строк в этом макете в указанное значение.
- Параметры:
-
rows- количество строк в этом макете - Исключения:
-
IllegalArgumentException- если значение обоихrowsиcolsустановлено в ноль - Since:
- JDK1.1
getColumns
public int getColumns()
Возвращает количество столбцов в этом макете.
- Возвращает:
- количество столбцов в этом макете
- Since:
- JDK1.1
setColumns
public void setColumns(int cols)
Устанавливает количество столбцов в этом макете на указанное значение. Установка количества столбцов не оказывает влияния на макет, если количество строк, указанное конструктором или методом setRows, не равно нулю. В этом случае количество столбцов, отображаемых в макете, определяется общим числом компонентов и числом строк, указанных пользователем.
- Параметры:
-
cols- количество столбцов в этом макете - Исключения:
-
IllegalArgumentException- если значение какrows, так иcolsустановлено в ноль - С:
- JDK1.1
getHgap
public int getHgap()
Возвращает горизонтальный зазор между компонентами.
- Возвращает:
- горизонтальный зазор между компонентами
- С:
- JDK1.1
setHgap
public void setHgap(int hgap)
Устанавливает горизонтальный зазор между компонентами в указанное значение.
- Параметры:
-
hgap- горизонтальный зазор между компонентами - С:
- JDK1.1
getVgap
public int getVgap()
Возвращает вертикальный зазор между компонентами.
- Возвращает:
- вертикальный зазор между компонентами
- С:
- JDK1.1
setVgap
public void setVgap(int vgap)
Устанавливает вертикальный зазор между компонентами в указанное значение.
- Параметры:
-
vgap- вертикальный зазор между компонентами - С:
- JDK1.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(java.awt.Container),Container.getPreferredSize()
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
Определяет минимальный размер аргумента контейнера, используя эту сетку.
Минимальная ширина сетки — это максимальная минимальная ширина всех компонентов в контейнере, умноженная на количество столбцов, плюс горизонтальный отступ, умноженный на количество столбцов минус один, плюс левые и правые отступы целевого контейнера.
Минимальная высота сетки — это максимальная минимальная высота всех компонентов в контейнере, умноженная на количество строк, плюс вертикальный отступ, умноженный на количество строк минус один, плюс верхние и нижние отступы целевого контейнера.
- Определено в:
-
minimumLayoutSizeв интерфейсеLayoutManager - Параметры:
-
parent- контейнер, для которого выполняется размещение - Возвращает:
- минимальные размеры, необходимые для размещения подкомпонентов указанного контейнера
- См. также:
-
preferredLayoutSize(java.awt.Container),Container.doLayout()
layoutContainer
public void layoutContainer(Container parent)
Выполняет компоновку указанного контейнера с помощью данного макета.
Этот метод изменяет форму компонентов в указанном целевом контейнере, чтобы удовлетворить ограничения объекта GridLayout.
Менеджер компоновки сетки определяет размер отдельных компонентов, разделив свободное пространство в контейнере на равные части в соответствии с количеством строк и столбцов в макете. Свободное пространство контейнера равно размеру контейнера минус любые отступы и любые указанные горизонтальные или вертикальные промежутки. Все компоненты в сетчатой компоновке получают одинаковый размер.
- Определено в:
-
layoutContainerв интерфейсеLayoutManager - Параметры:
-
parent- контейнер, в котором будет выполнена компоновка - См. также:
-
Container,Container.doLayout()
toString
public String toString()
Возвращает строковое представление значений этой компоновки сетки.
© 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.