|
Компонент
Scrollbar
Компонент Scrollbar — это полоса
прокрутки, но в библиотеке AWT класс Scrollbar используется еще и для организации
ползунка (slider). Объект может располагаться горизонтально или вертикально,
обычно полосы прокрутки размещают внизу и справа.
Каждая полоса прокрутки охватывает
некоторый диапазон значений и хранит текущее значение из этого диапазона. В
линейке прокрутки есть пять элементов управления для перемещения по диапазону.
Две стрелки на концах линейки вызывают перемещение на одну единицу (unit) в
соответствующем направлении при щелчке на стрелке кнопкой мыши. Положение движка
или бегунка (bubble, thumb) показывает текущее значение из диапазона и может
его изменять при перемещении бегунка с помощью мыши. Два промежутка между движком
и (Стрелками Позволяют переместиться на один блок (block) щелчком кнопки мыши.
Смысл понятий "единица"
и "блок" зависит от объекта, с которым работает полоса прокрутки.
Например, для вертикальной полосы прокрутки при просмотре текста это может быть
строка и страница или строка и абзац.
Методы работы с данным компонентом
описаны в интерфейсе Adjustable, который реализован классом scroiibar.
В классе scroiibar три конструктора:
-
Scrollbar ()
— создает вертикальную полосу прокрутки с диапазоном 0—100, текущим значением
0 и блоком 10 единиц;
-
Scrollbar (int orientation)
— ориентация orientation задается одной из двух констант
HORIZONTAL
или
VERTICAL
;
-
Scrollbar(int orientation,
int value, int visible, int min, int max)
— задает, кроме ориентации, еще начальное значение value, размер блока visible,
диапазон значений min—max.
Аргумент visible определяет еще
и длину движка — она устанавливается пропорционально диапазону значений и длине
полосы прокрутки. Например, конструктор по умолчанию задаст длину движка равной
0,1 длины полосы прокрутки.
Основной метод класса — getvalue
() — возвращает значение текущего положения движка на полосе прокрутки. Остальные
методы доступа позволяют узнать и изменить характеристики объекта, примеры их
использования показаны в листинге 12.6.
|