Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Конструктор позволяет задавать ориентацию полосы прокрутки --для этого предусмотрены константы VERTICAL и HORIZONTAL. Кроме того, с помощью конструктора можно задать начальное положение бегунка, размер "страницы", а также минимальное и максимальное значения, в пределах которых линейка прокрутки может изменять параметр. Для получения и установки текущего состояния полосы прокрутки используются методы getValue и setValue. Ниже приведен пример, в котором создается и вертикальный, и горизонтальный Scrollbar.
int height = getHeight(), width = getWidth(); int thickness = 16; Scrollbar hs = new Scrollbar(Scrollbar.HORIZONTAL, 50, width/10, 0, 100); Scrollbar vs = new Scrollbar(Scrollbar.VERTICAL, 50, height/2, 0, 100); add(hs); add(vs);
hs.setBounds(0, height - thickness, width - thickness, thickness); vs.setBounds(width - thickness, 0, thickness, height - thickness);
В этом примере скроллируется, конечно, пустая область:
Наследники Container
Теперь перейдем к рассмотрению стандартных контейнеров AVVT.
Класс Panel
Подобно тому, как Canvas служит базовым классом для создани. своих компонент с особым внешним видом, класс Panel являете:
улерклассом для новых контейнеров с особой работой с вложенными компонентами. Впрочем, поскольку Panel, в отличие от Container, класс не абстрактный, его можно использовать для иерархической организации сложного пользовательского интерфейса, группируя компоненты в такие Простейшие контейнеры.
Класс ScrollPane
Выше был рассмотрен компонент Scrollbar, предназначенный для полосы прокрутки. Если стоит задача, например, показать пользователю график некоторой функции с возможностью просмотра для изучения различных областей, необходимо создать две полосы прокрутки, правильно их установить и в дальнейшем обрабатывать все действия пользователя, вычислять новое положение видимой области, перерисовывать график и т.д.
В большинстве случаев все эти задачи может взять на себя контейнер ScrollPane. Этот контейнер обладает рядом особенностей. Во-первых, в него можно поместить лишь одну компоненту — при добавлении новой старая удаляется. Во-вторых, отличается работа с вложенным компонентом, чьи границы выходят за границы самого контейнера