Page 134 - 4836
P. 134
Менеджер блокового розміщення BoxLayout і клас
Box
Менеджер BoxLayout розміщує елементи на панелі в
рядок або в стовпець.
Зазвичай для роботи з цим менеджером
використовують допоміжний клас Box, що представляє собою
панель, для якої вже налаштоване блокове розміщення.
Створюється така панель не конструктором, а одним з двох
статичних методів, визначених у класі Box:
createHorizontalBox ( ) і createVerticalBox ( ).
Елементи, додані на панель з блоковим розміщенням,
шикуються один за іншим. Відстань між елементами за
замовчуванням нульове. Однак замість компонента можна
додати невидиму «розпірку», єдине завдання якої -
розсовувати сусідні елементи, забезпечуючи між ними задану
відстань. Горизонтальна розпірка створюється статичним
методом createHorizontalStrut (страт) (int width), а вертикальна
- методом createVerticalStrut (int height). Обидва методи
визначені в класі Box, а цілочисельний параметр в кожному з
них визначає розмір розпірки.
Крім того, на таку панель можна додати ще один
спеціальний елемент - своєрідну «пружину». Якщо розмір
панелі буде більше, ніж необхідно для оптимального
розміщення всіх елементів, ті з них, які здатні розтягуватися,
будуть намагатися заповнити додатковий простір собою.
Якщо ж розмістити серед елементів одну або кілька
«пружин», додатковий вільний простір буде розподілятися і в
ці проміжки між елементами. Горизонтальна і вертикальна
пружини створюються відповідно методами
createHorizontalGlue (глей - клей) ( ) і createVerticalGlue ( ) .
Зрозуміти особливості роботи цього менеджера краще
на наочному прикладі. Ми розташуємо чотири кнопки
вертикально, поставивши між двома центральними
«пружину», а між іншими - розпірки в 10 пікселів .
132