Panel

ScrollPaneクラスは Containerクラス の直接のサブクラスです。 java.awtパッケージに含まれます。 このクラスは JDK1.1から新しく追加されました。 内部にあるサイズの大きなコンポーネントを スクロールさせて表示する機能を提供します。
ScrollPaneは通常の Containerと違って、内部に表示されるコンポーネントは 1個しか許されません。 また LayoutManagerの助けは借りません (内部に1個しかコンポーネントがないので、レイアウトの処理自体不要なので。) したがって、setLayout()のメソッドは呼び出してもエラーになるだけです。 また、add()メソッドは複数回呼び出しても無意味で、 実際に表示されるのは最後に追加したコンポーネントのみです。

ScrollPaneクラスのフィールド

ScrollPaneクラスにはスクロールバーの表示の方針を指定するための publicでstaticかつfinalな 3個のフィールドが存在します。

それぞれ、必要な時(内部のコンポーネントのサイズが、ScrolPaneの 表示可能なサイズよりも大きい場合)のみにスクロールバーを表示、 常に表示、常に表示しない、に対応します。

ScrollPaneクラスのメソッド

ScrollPaneクラスには、 2個のコンストラクタと15個のpublic なメソッドが用意されています。

コンストラクタ

scrollbarDisplayPolicyは、スクロールバーの表示の方針を 上記のフィールドの値のいずれかで指定します。 デフォルト値は SCROLLBARS_AS_NEEDEDです。

メッソド

getScrollbarDisplayPolicy()は現在のスクロールバーの表示の方針を返します。
getViewportSize()は ScrollPaneが表示可能なサイズを返します。 デフォルト値は 100x100です。
getHScrollbarHeight()と getVScrollbarWidth()は、 それぞれ横向きのスクロールバーの高さ、 縦向きのスクロールバーの横幅を返します。 ScrollPane全体のサイズから表示可能なサイズを算出したい時に利用します。
getHAdjustable()と getVAdjustable()は、 それぞれ横向き、縦向きの Adjustable のオブジェクト (通常は Scrollbarのオブジェクト)を返します。
getScrollPosition()は、 現在表示されている内部のコンポーネントの座標 (表示されている左上端の点のコンポーネント内の座標)を返します。
setScrollPosition()は、 指定された座標の値を元に内部のコンポーネントの表示する位置を設定します。

setLayout()は、上に述べたように ScrollPaneにとっては無意味な指定です。 したがって呼び出すと AWTErrorを throw するように定義されています。 また final の指定がされているので、ScrollPaneのサブクラスで定義を変更する ことは許されません。
doLayout(),layout()は内部のコンポーネントのサイズをチェックし、 必要ならばスクロールバーを表示します。 JDK1.1では doLayout()を使用することが推奨されています。
printComponent()は内部のコンポーネントの printAll()メソッドを呼び出します。
addNotify()は、独自のデザインを実装する場合に、その登録を行います。
paramString()は、スクロールバーの表示の方針、内部のコンポーネントの情報、 表示されている座標を Stringクラスのオブジェクトとして返します。