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

Объект Constraints имеет свойства x, y, width и height.

Однако в объекте Constraints эти свойства имеют значения Spring вместо целых чисел.

Кроме того, объектом Constraints можно манипулировать как четырьмя краями – север, юг, восток и запад.

Объект Spring имеет четыре свойства – минимальное, предпочтительное и максимальное значения и фактическое (текущее) значение.

Объект Spring можно представить в виде механической пружины, которая обеспечивает корректирующее усилие, когда пружина сжимается или растягивается от ее предпочтительного значения.

Таким образом, компоновку SpringLayout можно представить, как набор объектов, которые соединены множеством пружин на их краях.

В этом примере мы устанавливаем ограничения методом putConstraint для менеджера SpringLayout.

В которых мы связываем левый край метки с левым краем контейнера.

Верхний край метки с верхним краем контейнера.

Левый край поля с правым краем метки.

Правый край поля с правым краем контейнера.

И нижний край поля с нижним краем контейнера.

<p>JSplitPane</p>

Панель JSplitPane содержит два компонента, разделенных тонкой полосой, которую можно перемещать с помощью мыши, меняя таким образом взаимные размеры компонентов.

Эти два компонента могут располагаться по горизонтали, что определяется константой HORIZONTAL_SPLIT класса JSplitPane, или по вертикали – константа VERTICAL_SPLIT.

Эти константы указываются в конструкторе класса JSplitPane.

Конструктор по умолчанию JSplitPane без аргументов задает горизонтальное расположение компонентов и создает, и размещает две кнопки JButton с надписями «left button» и «right button».

Панель JSplitPane при перемещении разделительной черты может перерисовывать компоненты сразу же по мере передвижения или после окончательной установки разделительной черты.

Это определяется вторым параметром конструктора JSplitPane.

Остальные конструкторы класса JSplitPane кроме расположения задают два компонента панели.

Очень часто компоненты, размещаемые на панели, – это панели прокрутки JScrollPane, содержащие текст, изображение, таблицу или другие компоненты.

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

Его можно установить методом setDividerLocation.

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

По умолчанию толщина равна 8 пикселов.

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

На разделительную черту можно поместить две небольшие кнопки с треугольными стрелками методом setOneTouchExpandable (true).

При щелчке кнопкой мыши на одной из этих кнопок один компонент расширяется на всю панель, а другой исчезает полностью.

Компоненты можно установить на панель или заменить другими компонентами с помощью методов setLeftComponent, setRightComponent, setTopComponent, setBottomComponent.

<p>JTabbedPane</p>

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

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

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

Конструктор по умолчанию класса JTabbedPane создает пустую панель без вкладок.

Первый аргумент конструктора задает расположение вкладок с помощью констант TOP, BOTTOM, LEFT, RIGHT.

Как правило, вкладки помещаются сверху (TOP), но, их можно поместить снизу, слева и справа.

Если все вкладки не помещаются в окно панели в один ряд, тогда они могут располагаться несколькими рядами или прокручиваться, для чего в строке вкладок появляются кнопки прокрутки.

Такое расположение вкладок определяется вторым аргументом конструктора.

Расположение вкладок в несколько рядов устанавливается константой WRAP_TAB_LAYOUT, расположение вкладок в один ряд с прокруткой устанавливается константой SCROLL_TAB_LAYOUT.

Для добавления компонентов в панель используется метод add или метод addTab, в котором можно указать строку заголовка вкладки, разместить объект или иконку на вкладке, определить всплывающую подсказку для вкладки.

Все это можно сделать также методами set класса JTabbedPane.

Вставить вкладку можно также методом insertTab.

Кроме того, можно задать цвет фона вкладки методом setBackgroundAt.

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

И вам самостоятельное задание – создайте панель JTabbedPane с кнопками, закрывающими вкладки панели.

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

<p>JToolBar</p>

Компонент JToolBar – это контейнер, который группирует несколько компонентов – это обычно кнопки с значками – в строку или столбец.

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

Пустая горизонтальная панель создается конструктором по умолчанию класса JToolBar.

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

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

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

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

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

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

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

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

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