|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class GroupLayout extends Object implements LayoutManager2
GroupLayout a LayoutManager это иерархически групповые компоненты, чтобы расположить их в a Container. GroupLayout предназначается для использования разработчиками, но может быть кодирован рукой также. Группировка делается экземплярами Group class. GroupLayout поддерживает два типа групп. Последовательная группа располагает свои дочерние элементы последовательно, один за другим. Параллельная группа выравнивает свои дочерние элементы одним из четырех способов. Каждая группа может содержать любое число элементов, где элемент является a Group, Component, или разрыв. Разрыв может считаться невидимым компонентом с минимумом, предпочтенным и максимальный размер. Кроме того, GroupLayout поддерживает привилегированный разрыв, значение которого прибывает из LayoutStyle.
Элементы подобны пружине. У каждого элемента есть диапазон как определено минимумом, предпочтенным и максимум. У разрывов есть или определенный разработчиком диапазон, или диапазон, определенный LayoutStyle. Диапазон для Components определяется от Component's getMinimumSize, getPreferredSize и getMaximumSize методы. Кроме того, добавляя Components Вы может определить определенный диапазон, чтобы использовать вместо этого от компонента. Диапазон для a Group определяется типом группы. A ParallelGroup's диапазон максимум диапазонов его элементов. A SequentialGroup's диапазон сумма диапазонов ее элементов.
GroupLayout обработки каждая ось независимо. Таким образом, есть группа, представляющая горизонтальную ось, и группу, представляющую вертикальную ось. Горизонтальная группа ответственна за определение минимума, предпочтенного и максимального размера вдоль горизонтальной оси так же как устанавливание x и width компонентов, содержавшихся в этом. Вертикальная группа ответственна за определение минимума, предпочтенного и максимального размера вдоль вертикальной оси так же как устанавливание y и height компонентов, содержавшихся в этом. Каждый Component должен существовать и в горизонтали и в вертикальной группе, иначе IllegalStateException бросается во время расположения, или когда минимум, предпочтенный или максимальный размер, требуют.
Следующая схема показывает последовательную группу вдоль горизонтальной оси. Последовательная группа содержит три компонента. Параллельная группа использовалась вдоль вертикальной оси.
Укрепить ту каждую ось обрабатывается независимо, схема показывает диапазон каждой группы и элемента вдоль каждой оси. Диапазон каждого компонента был спроектирован на оси, и группы представляются в синем (горизонталь) и красные (вертикаль). Для удобочитаемости есть разрыв между каждым из элементов в последовательной группе.
Последовательная группа вдоль горизонтальной оси представляется как твердая синяя строка. Заметьте, что последовательная группа является суммой дочерних элементов, которые это содержит.
Вдоль вертикальной оси параллельная группа является максимумом height каждого из компонентов. Поскольку у всех трех компонентов есть тот же самый height, у параллельной группы есть тот же самый height.
Следующая схема показывает те же самые три компонента, но с параллельной группой вдоль горизонтальной оси и последовательной группой вдоль вертикальной оси.
Как c1 является самым большим из этих трех компонентов, параллельная группа измеряется к c1. Как c2 и c3 меньше чем c1 они выровненные основанный на выравнивании, определенном для компонента (если определено) или выравнивании значения по умолчанию параллельной группы. В схеме c2 и c3 создавались с выравниванием LEADING. Если компонентная ориентация была справа налево тогда c2 и c3 был бы расположен на противоположную сторону.
Следующая схема показывает последовательную группу и вдоль горизонтали и вдоль вертикальной оси.
GroupLayout обеспечивает возможность вставить разрывы между Components. Размер разрыва определяется экземпляром LayoutStyle. Это может быть превращено при использовании setAutoCreateGaps метод. Точно так же можно использовать setAutoCreateContainerGaps метод, чтобы вставить разрывы между компонентами, которые касаются края родительского контейнера и контейнера.
Следующее создает панель, состоящую из двух меток в одном столбце, сопровождаемом двумя текстовыми полями в следующем столбце:
JComponent panel = ...;
GroupLayout layout = new GroupLayout(panel);
panel.setLayout(layout);
// Turn on automatically adding gaps between components
layout.setAutoCreateGaps(true);
// Turn on automatically creating gaps between components that touch
// the edge of the container and the container.
layout.setAutoCreateContainerGaps(true);
// Create a sequential group for the horizontal axis.
GroupLayout.SequentialGroup hGroup = layout.createSequentialGroup();
// The sequential group in turn contains two parallel groups.
// One parallel group contains the labels, the other the text fields.
// Putting the labels in a parallel group along the horizontal axis
// positions them at the same x location.
//
// Variable indentation is used to reinforce the level of grouping.
hGroup.addGroup(layout.createParallelGroup().
addComponent(label1).addComponent(label2));
hGroup.addGroup(layout.createParallelGroup().
addComponent(tf1).addComponent(tf2));
layout.setHorizontalGroup(hGroup);
// Create a sequential group for the vertical axis.
GroupLayout.SequentialGroup vGroup = layout.createSequentialGroup();
// The sequential group contains two parallel groups that align
// the contents along the baseline. The first parallel group contains
// the first label and text field, and the second parallel group contains
// the second label and text field. By using a sequential group
// the labels and text fields are positioned vertically after one another.
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(label1).addComponent(tf1));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(label2).addComponent(tf2));
layout.setVerticalGroup(vGroup);
Когда выполнено следующее производится.
Это расположение состоит из следующего.
add методы Group. add методы возвращают вызывающую сторону. Это учитывает легкое объединение в цепочку вызовов. Например, group.addComponent(label1).addComponent(label2); эквивалентно group.addComponent(label1); group.addComponent(label2);. Groups; вместо этого используйте создать методы GroupLayout. | Модификатор и Тип | Класс и Описание |
|---|---|
static class |
GroupLayout. Выравнивание
Перечисление возможных путей
ParallelGroup может выровнять его дочерние элементы. |
class |
GroupLayout. Группа
Group обеспечивает основание для двух типов операций, поддерживаемых GroupLayout: разметка компонентов один за другим (SequentialGroup) или выровненный (ParallelGroup). |
class |
GroupLayout. ParallelGroup
A
Group это выравнивается и размеры, это - дочерние элементы. |
class |
GroupLayout. SequentialGroup
A
Group это располагает и измеряет его элементы последовательно, один за другим. |
| Модификатор и Тип | Поле и Описание |
|---|---|
static int |
DEFAULT_SIZE
Указывает на размер от компонента, или разрыв должен использоваться для определенного значения диапазона.
|
static int |
PREFERRED_SIZE
Указывает на привилегированный размер от компонента, или разрыв должен использоваться для определенного значения диапазона.
|
| Конструктор и Описание |
|---|
GroupLayout(Container host)
Создает a
GroupLayout для указанного Container. |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
addLayoutComponent(Component component, Object constraints)
Уведомление это a
Component был добавлен к родительскому контейнеру. |
void |
addLayoutComponent(String name, Component component)
Уведомление это a
Component был добавлен к родительскому контейнеру. |
GroupLayout. ParallelGroup |
createBaselineGroup(boolean resizable, boolean anchorBaselineToTop)
Создает и возвращает a
ParallelGroup это выравнивается, это - элементы вдоль базовой линии. |
GroupLayout. ParallelGroup |
createParallelGroup()
Создает и возвращает a
ParallelGroup с выравниванием Alignment.LEADING. |
GroupLayout. ParallelGroup |
createParallelGroup(GroupLayout.Alignment alignment)
Создает и возвращает a
ParallelGroup с указанным выравниванием. |
GroupLayout. ParallelGroup |
createParallelGroup(GroupLayout.Alignment alignment, boolean resizable)
Создает и возвращает a
ParallelGroup с указанным выравниванием и изменяют размеры поведения. |
GroupLayout. SequentialGroup |
createSequentialGroup()
Создает и возвращает a
SequentialGroup. |
boolean |
getAutoCreateContainerGaps()
Возвраты
true если разрывы между контейнером и компонентами, которые ограничивают контейнер, автоматически создаются. |
boolean |
getAutoCreateGaps()
Возвраты
true если разрывы между компонентами автоматически создаются. |
boolean |
getHonorsVisibility()
Возвраты, рассматривают ли компонент visiblity, измеряя и располагая компоненты.
|
float |
getLayoutAlignmentX(Container parent)
Возвращает выравнивание вдоль оси X.
|
float |
getLayoutAlignmentY(Container parent)
Возвращает выравнивание вдоль оси Y.
|
LayoutStyle |
getLayoutStyle()
Возвраты
LayoutStyle используемый для того, чтобы вычислить привилегированный разрыв между компонентами. |
void |
invalidateLayout(Container parent)
Лишает законной силы расположение, указывая, что, если менеджер по расположению кэшировал информацию, это должно быть отброшено.
|
void |
layoutContainer(Container parent)
Размечает указанный контейнер.
|
void |
linkSize(Component... components)
Вынуждает указанные компоненты иметь тот же самый размер независимо от своих привилегированных, минимальных или максимальных размеров.
|
void |
linkSize(int axis, Component... components)
Вынуждает указанные компоненты иметь тот же самый размер вдоль указанной оси независимо от их привилегированных, минимальных или максимальных размеров.
|
Размерность |
maximumLayoutSize(Container parent)
Возвращает максимальный размер для указанного контейнера.
|
Размерность |
minimumLayoutSize(Container parent)
Возвращает минимальный размер для указанного контейнера.
|
Размерность |
preferredLayoutSize(Container parent)
Возвращает привилегированный размер для указанного контейнера.
|
void |
removeLayoutComponent(Component component)
Уведомление это a
Component был удален из родительского контейнера. |
void |
replace(Component existingComponent, Component newComponent)
Заменяет существующий компонент новым.
|
void |
setAutoCreateContainerGaps(boolean autoCreateContainerPadding)
Наборы, должен ли разрыв между контейнером и компонентами, которые касаются границы контейнера, автоматически быть создан.
|
void |
setAutoCreateGaps(boolean autoCreatePadding)
Наборы, должен ли разрыв между компонентами автоматически быть создан.
|
void |
setHonorsVisibility(boolean honorsVisibility)
Наборы, рассматривают ли компонент visiblity, измеряя и располагая компоненты.
|
void |
setHonorsVisibility(Component component, Boolean honorsVisibility)
Наборы, рассматривают ли visiblity компонента для калибровки и расположения.
|
void |
setHorizontalGroup(GroupLayout.Group group)
Наборы
Group это располагает и компоненты размеров вдоль горизонтальной оси. |
void |
setLayoutStyle(LayoutStyle layoutStyle)
Наборы
LayoutStyle используемый, чтобы вычислить привилегированные разрывы между компонентами. |
void |
setVerticalGroup(GroupLayout.Group group)
Наборы
Group это располагает и компоненты размеров вдоль вертикальной оси. |
Строка |
toString()
Возвращает строковое представление этого
GroupLayout. |
public static final int DEFAULT_SIZE
GroupLayout.Group, Постоянные Значения полейpublic static final int PREFERRED_SIZE
GroupLayout.Group, Постоянные Значения полейpublic GroupLayout(Container host)
GroupLayout для указанного Container.host - Container GroupLayout LayoutManager дляIllegalArgumentException - если узел nullpublic void setHonorsVisibility(boolean honorsVisibility)
true указывает, что невидимые компоненты не должны быть обработаны как часть расположения. Значение false указывает, что компоненты должны быть расположены и измерены независимо от видимости. Значение false полезно, когда видимость компонентов динамически корректируется, и Вы не хотите, чтобы окружающие компоненты и калибровка изменились.
Указанное значение используется для компонентов, которым не определяли явную видимость.
Значение по умолчанию true.
honorsVisibility - рассматривают ли компонент visiblity, измеряя и располагая компонентыsetHonorsVisibility(Component,Boolean)public boolean getHonorsVisibility()
public void setHonorsVisibility(Component component, Boolean honorsVisibility)
Boolean.TRUE указывает на это если component не видимо, это не должно быть обработано как часть расположения. Значение false указывает на это component располагается и измеряется независимо от, это - видимость. Значение null указывает на значение, определенное единственным методом параметра setHonorsVisibility должен использоваться. Если component не дочерний элемент Container это GroupLayout managine, он будет добавлен к Container.
component - компонентhonorsVisibility - ли component's visiblity нужно рассмотреть для калибровки и расположенияIllegalArgumentException - если component nullsetHonorsVisibility(Component,Boolean)public void setAutoCreateGaps(boolean autoCreatePadding)
true и Вы добавляете два компонента к a SequentialGroup разрыв между этими двумя компонентами автоматически быть созданным. Значение по умолчанию false.autoCreatePadding - создается ли разрыв между компонентами автоматическиpublic boolean getAutoCreateGaps()
true если разрывы между компонентами автоматически создаются.true если разрывы между компонентами автоматически создаютсяpublic void setAutoCreateContainerGaps(boolean autoCreateContainerPadding)
false.autoCreateContainerPadding - должен ли разрыв между контейнером и компонентами, которые касаются границы контейнера, автоматически быть созданpublic boolean getAutoCreateContainerGaps()
true если разрывы между контейнером и компонентами, которые ограничивают контейнер, автоматически создаются.true если разрывы между контейнером и компонентами, которые ограничивают контейнер, автоматически создаютсяpublic void setHorizontalGroup(GroupLayout.Group group)
Group это располагает и компоненты размеров вдоль горизонтальной оси.group - Group это располагает и компоненты размеров вдоль горизонтальной осиIllegalArgumentException - если группа nullpublic void setVerticalGroup(GroupLayout.Group group)
Group это располагает и компоненты размеров вдоль вертикальной оси.group - Group это располагает и компоненты размеров вдоль вертикальной осиIllegalArgumentException - если группа nullpublic GroupLayout.SequentialGroup createSequentialGroup()
SequentialGroup.SequentialGrouppublic GroupLayout.ParallelGroup createParallelGroup()
ParallelGroup с выравниванием Alignment.LEADING. Это - метод покрытия для более общего createParallelGroup(Alignment) метод.ParallelGroupcreateParallelGroup(Alignment)public GroupLayout.ParallelGroup createParallelGroup(GroupLayout.Alignment alignment)
ParallelGroup с указанным выравниванием. Это - метод покрытия для более общего createParallelGroup(Alignment,boolean) метод с true предоставленный для второго параметра.alignment - выравнивание для элементов группыParallelGroupIllegalArgumentException - если alignment nullcreateBaselineGroup(boolean, boolean), GroupLayout.ParallelGrouppublic GroupLayout.ParallelGroup createParallelGroup(GroupLayout.Alignment alignment, boolean resizable)
ParallelGroup с указанным выравниванием и изменяют размеры поведения. alignment параметр определяет, как дочерние элементы располагаются, которые не заполняют группу. Например, если a ParallelGroup с выравниванием TRAILING дается 100, и дочерний элемент только нуждается 50, дочерний элемент располагается в позицию 50 (с компонентной ориентацией слева направо). Базовое выравнивание только полезно когда использующийся вдоль вертикальной оси. A ParallelGroup создаваемый с базовым выравниванием вдоль горизонтальной оси обрабатывается как LEADING.
Обратитесь к ParallelGroup для деталей о поведении базовых групп.
alignment - выравнивание для элементов группыresizable - true если группа изменяемого размера; если группа не изменяемого размера, привилегированный размер используется для минимального и максимального размера группыParallelGroupIllegalArgumentException - если alignment nullcreateBaselineGroup(boolean, boolean), GroupLayout.ParallelGrouppublic GroupLayout.ParallelGroup createBaselineGroup(boolean resizable, boolean anchorBaselineToTop)
ParallelGroup это выравнивается, это - элементы вдоль базовой линии.resizable - изменяемого размера ли группаanchorBaselineToTop - привязывается ли базовая линия на вершине или нижней части группыcreateBaselineGroup(boolean, boolean), GroupLayout.ParallelGrouppublic void linkSize(Component... components)
Это может использоваться многократно, чтобы вынудить любое число компонентов совместно использовать тот же самый размер.
Соединенные Компоненты не быть изменяемого размера.
components - Components, у которых должен быть тот же самый размерIllegalArgumentException - если components null, или содержит nulllinkSize(int,Component[])public void linkSize(int axis,
Component... components)
Это может использоваться многократно, чтобы вынудить любое число компонентов совместно использовать тот же самый размер.
Соединенный Components не быть изменяемого размера.
components - Components, у которых должен быть тот же самый размерaxis - ось, чтобы соединить размер вперед; один из SwingConstants.HORIZONTAL или SwingConstans.VERTICALIllegalArgumentException - если components null, или содержит null; или axis не SwingConstants.HORIZONTAL или SwingConstants.VERTICALpublic void replace(Component existingComponent, Component newComponent)
existingComponent - компонент, который должен быть удален и заменен newComponentnewComponent - компонент, чтобы вставить existingComponent's местоIllegalArgumentException - если любой из компонентов null или existingComponent не управляется этим менеджером по расположениюpublic void setLayoutStyle(LayoutStyle layoutStyle)
LayoutStyle используемый, чтобы вычислить привилегированные разрывы между компонентами. Значение null указывает на совместно используемый экземпляр LayoutStyle должен использоваться.layoutStyle - LayoutStyle использоватьLayoutStylepublic LayoutStyle getLayoutStyle()
LayoutStyle используемый для того, чтобы вычислить привилегированный разрыв между компонентами. Это возвращает значение, определенное setLayoutStyle, который может быть null.LayoutStyle используемый для того, чтобы вычислить привилегированный разрыв между компонентамиpublic void addLayoutComponent(String name, Component component)
Component был добавлен к родительскому контейнеру. Недопустимо вызвать этот метод непосредственно, вместо этого следует использовать один из Group методы, чтобы добавить a Component.addLayoutComponent в интерфейсе LayoutManagername - строка, которая будет связана с компонентомcomponent - Component быть добавленнымpublic void removeLayoutComponent(Component component)
Component был удален из родительского контейнера. Недопустимо вызвать этот метод непосредственно, вместо этого вызвать remove на родителе Container.removeLayoutComponent в интерфейсе LayoutManagercomponent - компонент, который будет удаленComponent.remove(java.awt.MenuComponent)public Dimension preferredLayoutSize(Container parent)
preferredLayoutSize в интерфейсе LayoutManagerparent - контейнер, чтобы возвратить привилегированный размер дляparentIllegalArgumentException - если parent не то же самое Container это создавалось сIllegalStateException - если какой-либо из компонентов, добавленных к этому расположению, не находится и в горизонтали и в вертикальной группеContainer.getPreferredSize()public Dimension minimumLayoutSize(Container parent)
minimumLayoutSize в интерфейсе LayoutManagerparent - контейнер, чтобы возвратить размер дляparentIllegalArgumentException - если parent не то же самое Container то, что это создавалось сIllegalStateException - если какой-либо из компонентов, добавленных к этому расположению, не находится и в горизонтали и в вертикальной группеContainer.getMinimumSize()public void layoutContainer(Container parent)
layoutContainer в интерфейсе LayoutManagerparent - контейнер, который будет размеченIllegalStateException - если какой-либо из компонентов, добавленных к этому расположению, не находится и в горизонтали и в вертикальной группеpublic void addLayoutComponent(Component component, Object constraints)
Component был добавлен к родительскому контейнеру. Недопустимо вызвать этот метод непосредственно, вместо этого следует использовать один из Group методы, чтобы добавить a Component.addLayoutComponent в интерфейсе LayoutManager2component - компонент добавилconstraints - описание того, куда поместить компонентpublic Dimension maximumLayoutSize(Container parent)
maximumLayoutSize в интерфейсе LayoutManager2parent - контейнер, чтобы возвратить размер дляparentIllegalArgumentException - если parent не то же самое Container то, что это создавалось сIllegalStateException - если какой-либо из компонентов, добавленных к этому расположению, не находится и в горизонтали и в вертикальной группеContainer.getMaximumSize()public float getLayoutAlignmentX(Container parent)
getLayoutAlignmentX в интерфейсе LayoutManager2parent - Container хостинг этого LayoutManager.5IllegalArgumentException - если parent не то же самое Container то, что это создавалось сpublic float getLayoutAlignmentY(Container parent)
getLayoutAlignmentY в интерфейсе LayoutManager2parent - Container хостинг этого LayoutManager.5IllegalArgumentException - если parent не то же самое Container то, что это создавалось сpublic void invalidateLayout(Container parent)
invalidateLayout в интерфейсе LayoutManager2parent - Container хостинг этого LayoutManagerIllegalArgumentException - если parent не то же самое Container то, что это создавалось сpublic String toString()
GroupLayout. Этот метод предназначается, чтобы использоваться для того, чтобы отладить цели, и контент и формат возвращенной строки могут измениться между реализациями.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92