Читаем Графические интерфейсы пользователя Java полностью

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

Метод setAutoCreateGaps устанавливает, должен ли автоматически создаваться промежуток между компонентами при последовательном размещении.

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

Метод setHorizontalGroup создает горизонтальную группу компонентов, а метод setVerticalGroup создает вертикальную группу компонентов, при этом мы определяем, какая это будет группа – с последовательным размещением компонентов или параллельным размещением.

Для определения типа группы используются методы createSequentialGroup и createParallelGroup.

Метод addComponent добавляет компонент в группу, а метод addGroup добавляет группу.

В этом примере мы создаем горизонтальную группу с последовательным размещением, в которую добавляем кнопку и группу.

По горизонтальной оси кнопки 2 и 3 занимают одно и тоже место, поэтому эта группа будет параллельной.

И в нее мы добавляем кнопки 2 и 3.

Теперь по вертикальной оси у нас все кнопки расположены последовательно, поэтому для вертикальной группы мы создаем последовательную группу, в которую добавляем все три кнопки.

Таким образом видно, что при работе с менеджером GroupLayout нужно сначала создать визуальный макет, а затем на его основе создавать группы.

<p>BoxLayout и Box</p>

Менеджер компоновки BoxLayout используется для размещения компонентов по вертикали или по горизонтали.

Менеджер компоновки BoxLayout создается с помощью конструктора, первым параметром которого указывается контейнер.

Второй параметр задает способ расположения компонентов в этом контейнере с помощью одной из констант X_AXIS – расположение слева направо, Y_AXIS – расположение сверху вниз, LINE_AXIS и PAGE_AXIS – расположение определяется контейнером.

Если задано горизонтальное расположение компонентов, тогда менеджер пытается сделать высоту всех компонентов одинаковой, равной высоте самого высокого компонента.

При вертикальном расположении менеджер старается выровнять ширину компонентов по самому широкому компоненту.

Панель Box – это контейнер, который использует менеджер компоновки BoxLayout.

Вы можете легко создавать сложные компоновки компонентов, помещая их в несколько вложенных ящиков Box.

Панель Box создается с помощью статического метода createHorizontalBox для горизонтального размещения компонентов или статического метода createVerticalBox для вертикального размещения компонентов.

Класс Box также предоставляет статические методы, которые создают невидимые компоненты, которые можно использовать для улучшения компоновки.

Их можно даже использовать в контейнерах, которые не являются панелями Box, например, в панели JPanel.

Вы можете отдельно управлять выравниванием каждого компонента, вызывая следующие методы setAlignmentX, выравнивание о оси х от центра контейнера, и setAlignmentY, выравнивание по оси y, которые компонент наследует от класса Component.

strut- это невидимый компонент, который имеет фиксированный размер в пикселях.

Создается strut с помощью статических методов createHorizontalStrut и createVerticalStrut, после чего его можно добавлять в контейнер, как и любой другой компонент.

glue – это невидимый компонент, который расширяется или сжимается по размеру по мере необходимости, чтобы заполнить пространство между компонентами.

Он полезен для сохранения ориентации компонентов в контейнере по мере его изменения.

glue создается с помощью статического метода createGlue.

Разделительная область (rigid area) – это невидимый компонент с фиксированной шириной и высотой.

Этот компонент создается с помощью статического метода createRigidArea.

Кроме этих трех компонентов-разделителей можно использовать невидимый компонент с фиксированным минимальным, максимальным и предпочтительным размерами.

Он является объектом класса Filler, вложенного в класс Box.

<p>SpringLayout</p>

Менеджер компоновки SpringLayout размещает компоненты, определяя ограничения SpringLayout.Constraints между краями компонентов.

Например, вы можете определить, что левый край одного компонента является фиксированным расстоянием (например, 5 пикселей) от правого края другого компонента.

В SpringLayout положение каждого края зависит от положения только одного другого края.

Если далее создается ограничение SpringLayout.Constraints для создания новой привязки края, предыдущее связывание отбрасывается, и край остается зависимым только от одного края.

В отличие от многих менеджеров компоновки SpringLayout автоматически не устанавливает местоположение своих компонентов.

Для установки местоположения компонента, его левый, правый, верхний и нижний края связываются с соответствующими краями контейнера и соседних компонентов.

Края компонента привязываются с помощью объектов SpringLayout.Constraints.

Объект Constraints содержит ограничения, которые определяют способ изменения размера и позиции компонента в контейнере.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных