Spec-Zone .ru
спецификации, руководства, описания, API
|
public class BoxLayout extends Object implements LayoutManager2, Serializable
|
Вложение многократные панели с различными комбинациями горизонтали и вертикали дает эффект, подобный GridBagLayout без сложности. Схема показывает две панели, расположенные горизонтально, каждый из которых содержит 3 компонента, расположенные вертикально.
Менеджер BoxLayout создается с параметром оси, который определяет тип расположения, которое будет сделано. Есть четыре вариантов:
X_AXIS - Компоненты размечаются горизонтально слева направо.
Y_AXIS - Компоненты размечаются вертикально сверху донизу.
LINE_AXIS - Компоненты размечаются путем, слова размечаются в строке, основанной на свойстве ComponentOrientation контейнера. Если ComponentOrientation контейнера является горизонталью тогда, компоненты размечаются горизонтально, иначе они размечаются вертикально. Для горизонтальных ориентаций, если ComponentOrientation контейнера является слева направо тогда компонентами, размечаются слева направо, иначе они размечаются справа налево. Для вертикальных ориентаций компоненты всегда кладутся из от начала до конца.
PAGE_AXIS - Компоненты размечаются путем, текстовые строки размечаются на странице, основанной на свойстве ComponentOrientation контейнера. Если ComponentOrientation контейнера является горизонталью тогда, компоненты размечаются вертикально, иначе они размечаются горизонтально. Для горизонтальных ориентаций, если ComponentOrientation контейнера является слева направо тогда компонентами, размечаются слева направо, иначе они размечаются справа налево. Для вертикальных ориентаций компоненты всегда кладутся из от начала до конца.
Для всех направлений компоненты располагаются в том же самом порядке, как они были добавлены к контейнеру.
BoxLayout пытается расположить компоненты в их привилегированных ширинах (для горизонтального расположения) или высоты (для вертикального расположения). Для горизонтального расположения, если не все компоненты являются той же самой высотой, BoxLayout пытается сделать все компоненты столь же высоко как самый высокий компонент. Если это не возможно для определенного компонента, то BoxLayout выравнивает тот компонент вертикально согласно выравниванию компонента Y. По умолчанию у компонента есть выравнивание Y 0.5, что означает, что у вертикального центра компонента должна быть та же самая координата Y как вертикальные центры других компонентов с 0.5 выравниванием Y.
Точно так же для вертикального расположения, BoxLayout пытается сделать все компоненты в столбце столь же широкими как самый широкий компонент. Если это перестало работать, это выравнивает их горизонтально согласно их X выравниванию. Для PAGE_AXIS
расположение, выравнивание по горизонтали делается основанное на переднем крае компонента. Другими словами X значений выравнивания 0.0 означают левый край компонента если контейнер ComponentOrientation
слева направо, и это означает правый край компонента иначе.
Вместо того, чтобы использовать BoxLayout непосредственно, много программ используют класс Поля. Класс Поля является легким контейнером, который использует BoxLayout. Это также обеспечивает удобные методы, чтобы помочь Вам использовать BoxLayout хорошо. Добавление компонентов к многократным вложенным полям является мощным способом получить расположение, которое Вы хотите.
Для дополнительной информации и примеров видят
Предупреждение: Сериализированные объекты этого класса не будут совместимыми с будущими выпусками Swing. Текущая поддержка сериализации является подходящей для краткосрочного хранения или RMI между приложениями, выполняющими ту же самую версию Swing. С 1.4, поддержка длительного хранения всего JavaBeansTM была добавлена к java.beans
пакет. Пожалуйста, см. XMLEncoder
.
Модификатор и Тип | Поле и Описание |
---|---|
static int |
LINE_AXIS
Определяет, что компоненты должны быть размечены в направлении строки текста как определено целевым контейнером
ComponentOrientation свойство. |
static int |
PAGE_AXIS
Определяет, что компоненты должны быть размечены в направлении, что строки текут через страницу как определено целевым контейнером
ComponentOrientation свойство. |
static int |
X_AXIS
Определяет, что компоненты должны быть размечены слева направо.
|
static int |
Y_AXIS
Определяет, что компоненты должны быть размечены от начала до конца.
|
Конструктор и Описание |
---|
BoxLayout(Container target, int axis)
Создает менеджера по расположению, который разметит компоненты вдоль данной оси.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
addLayoutComponent(Component comp, Object constraints)
Не используемый этим классом.
|
void |
addLayoutComponent(String name, Component comp)
Не используемый этим классом.
|
int |
getAxis()
Возвращает ось, которая использовалась, чтобы разметить компоненты.
|
float |
getLayoutAlignmentX(Container target)
Возвращает выравнивание вдоль X осей для контейнера.
|
float |
getLayoutAlignmentY(Container target)
Возвращает выравнивание вдоль Оси Y для контейнера.
|
Контейнер |
getTarget()
Возвращает контейнер, который использует этого менеджера по расположению.
|
void |
invalidateLayout(Container target)
Указывает, что дочерний элемент изменил его соответствующую информацию расположения, и таким образом любые кэшируемые вычисления должны быть сброшены.
|
void |
layoutContainer(Container target)
Вызванный AWT, когда указанный контейнер должен быть размечен.
|
Размерность |
maximumLayoutSize(Container target)
Возвращает максимальные размерности, которые целевой контейнер может использовать, чтобы разметить компоненты, которые он содержит.
|
Размерность |
minimumLayoutSize(Container target)
Возвращается минимальные размерности должны были разметить компоненты, содержавшиеся в указанном целевом контейнере.
|
Размерность |
preferredLayoutSize(Container target)
Возвращает привилегированные размерности для этого расположения, учитывая компоненты в указанном целевом контейнере.
|
void |
removeLayoutComponent(Component comp)
Не используемый этим классом.
|
public static final int X_AXIS
public static final int Y_AXIS
public static final int LINE_AXIS
ComponentOrientation
свойство.public static final int PAGE_AXIS
ComponentOrientation
свойство.@ConstructorProperties(value={"target","axis"}) public BoxLayout(Container target, int axis)
target
- контейнер, который должен быть размеченaxis
- ось, чтобы разметить компоненты вперед. Может быть один из: BoxLayout.X_AXIS
, BoxLayout.Y_AXIS
, BoxLayout.LINE_AXIS
или BoxLayout.PAGE_AXIS
AWTError
- если значение axis
недопустимоpublic final Container getTarget()
public final int getAxis()
BoxLayout.X_AXIS
, BoxLayout.Y_AXIS
, BoxLayout.LINE_AXIS
или BoxLayout.PAGE_AXIS
public void invalidateLayout(Container target)
Этот метод вызывает AWT, когда лишить законной силы метод вызывают на Контейнере. Так как лишить законной силы метод можно вызвать асинхронно к потоку события, этот метод можно вызвать асинхронно.
invalidateLayout
в интерфейсе LayoutManager2
target
- контейнер, на который влияют,AWTError
- если цель не является контейнером, определенным конструктору BoxLayoutpublic void addLayoutComponent(String name, Component comp)
addLayoutComponent
в интерфейсе LayoutManager
name
- имя компонентаcomp
- компонентpublic void removeLayoutComponent(Component comp)
removeLayoutComponent
в интерфейсе LayoutManager
comp
- компонентpublic void addLayoutComponent(Component comp, Object constraints)
addLayoutComponent
в интерфейсе LayoutManager2
comp
- компонентconstraints
- ограниченияpublic Dimension preferredLayoutSize(Container target)
preferredLayoutSize
в интерфейсе LayoutManager
target
- контейнер, который должен быть размеченAWTError
- если цель не является контейнером, определенным конструктору BoxLayoutContainer
, minimumLayoutSize(java.awt.Container)
, maximumLayoutSize(java.awt.Container)
public Dimension minimumLayoutSize(Container target)
minimumLayoutSize
в интерфейсе LayoutManager
target
- контейнер, который должен быть размеченAWTError
- если цель не является контейнером, определенным конструктору BoxLayoutpreferredLayoutSize(java.awt.Container)
, maximumLayoutSize(java.awt.Container)
public Dimension maximumLayoutSize(Container target)
maximumLayoutSize
в интерфейсе LayoutManager2
target
- контейнер, который должен быть размеченAWTError
- если цель не является контейнером, определенным конструктору BoxLayoutpreferredLayoutSize(java.awt.Container)
, minimumLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container target)
getLayoutAlignmentX
в интерфейсе LayoutManager2
target
- контейнерAWTError
- если цель не является контейнером, определенным конструктору BoxLayoutpublic float getLayoutAlignmentY(Container target)
getLayoutAlignmentY
в интерфейсе LayoutManager2
target
- контейнерAWTError
- если цель не является контейнером, определенным конструктору BoxLayoutpublic void layoutContainer(Container target)
layoutContainer
в интерфейсе LayoutManager
target
- контейнер, чтобы разметитьAWTError
- если цель не является контейнером, определенным конструктору BoxLayout
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.