Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3-й семестр / Лекции / 4 - Полиморфизм

.pdf
Скачиваний:
65
Добавлен:
25.12.2020
Размер:
619.47 Кб
Скачать

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

Каждая область отображает один компонент (который может быть контейнер, такой как Jpanel). Каждая из четырех внешних областей расширяется по мере необходимости, чтобы приспособить компонент, добавленный к ней (происходит выравнивание). Если ничего не добавляется к внешним областям, они не занимают места и соответственно другие области расширяются, чтобы заполнить пустоту. Центральная зона также расширяется, чтобы заполнить пространство по мере необходимости.

Grid Layout

Компонент grid layout представляет компоненты в виде прямоугольной таблицы с рядами и колонками. Когда мы какой-то один из компонентов помещаем в каждую ячейку сетки, то все ячейки выравниваются и имеют одинаковый размер. Когда компоненты добавляют в контейнер, они заполняют сетку слева направо и сверху-вниз (по умолчанию). Размер каждой ячейки определяется общим размером контейнера.

Box Layout

Компонент box layout организует компоненты в горизонтальном направлении (в одной строке) или вертикально (в одном столбце). Компоненты размещаются сверху-вниз или слева-направо в том порядке, в котором они были добавлены в контейнер. Объединив несколько контейнеров с использованием менеджера Box, можно создать множество различных конфигураций. Часто используют один контейнер, который более сложный - менеджер компоновки GridBag вместо нескольких контейнеров с менеджерами Box. Вox в переводе с английского означает ящик.

Из названия уже становится ясно, что представляет собой данный менеджер. BoxLayout — это как-бы абстрактный ящик, в который можно складывать компоненты. Причем складывать можно сверху-вниз или слеванаправо – это задается разработчиком при инициализации менеджера компоновки BoxLayout. Получается, что BoxLayout располагает компоненты в строчку или в столбец. BoxLayout достаточно простой менеджер компоновки, поэтому использовать его надо в комбинации с другими менеджерами компоновки или с самим BoxLayout.

Также можно добавить невидимые компоненты в контейнер Box Layout, чтобы заполнить пространство между компонентами. Жестко задаваемые области имеют фиксированный размер. Некий промежуточный слой, так называемый клей (glue) определяет, то место, где должно идти избыточное пространство. Жестко закрепленная область создается с помощью

createRigidArea метода класса Box. Так называемый клей создается с помощью метода createHorizontalGlue или метода createVerticalGlue.

Границы (Borders)

Границу можно поместить вокруг любого Swingкомпонента, чтобы определить, как края компонента будут выглядеть. Границы могут быть эффективно использованы также для визуального группирования компонентов. Класс BorderFactory содержит несколько статических методов для создания граничных объектов. Граница применяется к компоненту с помощью метода setBorder.

Пустая граница

Буферное (пустое) пространство вокруг края компонента

в противном случае не имеет никакого визуального эффекта

Граница – линия

окружает компонент простой линией

цвет и толщина состав линии может быть указана согласно заданной спецификации

Обозначенная граница

создает эффект обозначенной канвы вокруг компонента

использует цвета для подсветки и тени

Скосы (углы) границ

Можно расширить или сузить

использует цвета для наружных и внутренних бликов и теней

Заголовок границы

помещает заголовок на или вокруг границы

заголовок может быть ориентирован по-разному

Сплошная граница

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

используется либо сплошной цвет или изображение

Связанные границы

представляет собой сочетание двух границ

одна или обе из границ (borders) могут быть объединением тоже объединением границ

Полезные ссылки https://habrahabr.ru/post/201922/

http://zetcode.com/tutorials/javaswingtutorial/swinglayoutmanagement/ http://www.macs.hw.ac.uk/cs/java-swing- guidebook/?name=Layouts&page=3 http://www.quizful.net/post/swing-layout-managers

https://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/tsvn-dug-commit.html

https://javaswing.wordpress.com/2009/12/23/keylistener_using Swing articles: http://java.sun.com/javase/technologies/desktop/articles.jsp Swing Architecture: http://java.sun.com/products/jfc/tsc/articles/architecture/ Visual Editor for Eclipse: http://wiki.eclipse.org/VE/Update#Online_Install

Oracle Swing tutorial: http://download.oracle.com/javase/tutorial/uiswing/ Stack Overflow:

http://stackoverflow.com/ Basic Swing tutorial:

http://zetcode.com/tutorials/javaswingtutorial/ https://habrahabr.ru/post/305974/ http://math.sgu.ru/sites/chairs/prinf/materials/java/lesson8.htm

Соседние файлы в папке Лекции