Контейнер ScrollPane
Контейнер ScrollPane может содержать только один компонент, но зато такой, который не помещается целиком в окне. Контейнер обеспечивает средства прокрутки для просмотра большого компонента. В контейнере можно установить полосы прокрутки либо постоянно, константой SCROLLBARS_ALWAYS, либо так, чтобы они появлялись только при необходимости (если компонент действительно не помещается в окно) константой SCROLLBARS_AS_NEEDED.
Если полосы прокрутки не установлены, это задает константа SCROLLBARS_NEVER, то перемещение компонента для просмотра нужно обеспечить из программы одним из методов setScrollPosition ().
В классе два конструктора:
- ScrollPane () – создает контейнер, в котором полосы прокрутки появляются по необходимости;
- ScrollPane(int scroiibars) – создает контейнер, в котором появление линеек прокрутки задается одной из трех указанных выше констант.
Конструкторы создают контейнер размером 100x100 пикселов, в дальнейшем можно изменить размер унаследованным методом – setsize(int width, int height).
Ограничение, заключающееся в том, что scrollPane может содержать только один компонент, легко обходится. Всегда можно сделать этим единственным компонентом объект класса Panel, разместив на панели что угодно.
Среди методов класса интересны те, что позволяют прокручивать компонент в ScrollPane:
- методы getHAdjustable() и getvAdjustabie () возвращают положение линеек прокрутки в виде интерфейса Adjustable;
- метод getscrollPosition() показывает координаты (х, у) точки компонента, находящейся в левом верхнем углу панели ScrollPane, в виде объекта класса Point;
- метод setScrollPosition(Point р) или setScrollPosition(int х, int у) прокручивает компонент в позицию (х, у).