Spec-Zone.ru › OpenJDK 25

Класс GridLayout

java.lang.Object
java.awt.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.

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.

Рисунок 1: горизонтальное направление, слева направо

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.

Рисунок 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()
Возвращает строковое представление значений этой компоновки-сетки.

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

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

Подробное описание конструкторов

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(Container)
  • Container.getPreferredSize()

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
Определяет минимальный размер аргумента-контейнера с использованием этой компоновки-сетки.

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

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

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

layoutContainer

public void layoutContainer(Container parent)
Размещает указанный контейнер с использованием этой компоновки.

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

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

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

toString

public String toString()
Возвращает строковое представление значений этой компоновки-сетки.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этой компоновки-сетки

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API