このページでは、JScrollPaneJViewportJScrollBarといったスクロール関係のコンポーネントの使い方を集めて一覧にしています。

JScrollPane JViewport JScrollBar

JScrollPaneのViewportをマウスで掴んでスクロール

JScrollPaneのViewportをマウスで掴んでスクロール

JScrollPaneの窓の中をマウスで掴んで画像をスクロールします。

JTreeの余白をドラッグしてスクロール

JTreeの余白をドラッグしてスクロール

JTreeの余白などをマウスでドラッグしてスクロールします。

JScrollPaneでキネティックスクロール

JScrollPaneでキネティックスクロール

JScrollPaneにキネティックスクロール(慣性スクロール)風の動作をするマウスリスナーを設定します。

JScrollPaneのオートスクロール

JScrollPaneのオートスクロール

JScrollPane上でのマウスドラッグに応じてラベルをオートスクロールします。

JScrollPane内にある複数Componentを配置したJPanelをJLayerを使ってドラッグスクロール

JScrollPane内にある複数Componentを配置したJPanelをJLayerを使ってドラッグスクロール

複数のネストしたComponentを配置したJPanelのドラッグイベントを、JScrollPaneをラップしたJLayerで受け取ってスクロール可能にします。

JScrollBarをJScrollPaneの左と上に配置

JScrollBarをJScrollPaneの左と上に配置

JScrollBarの配置位置を、JScrollPaneの左側、上側に変更します。

ScrollBarの表示を変更

ScrollBarの表示を変更

JScrollPaneから縦JScrollBarを取得し、そのノブ上にアイコンを追加表示します。

JScrollPaneのスクロールを禁止

JScrollPaneのスクロールを禁止

JScrollPaneのスクロールを一時的に禁止します。

JScrollPaneのスクロールを同期

JScrollPaneのスクロールを同期

2つのJScrollPaneのスクロールを同期します。

JScrollPaneのスクロール量を変更

JScrollPaneのスクロール量を変更

スクロールがホイールの回転でスムーズに移動しない(遅い)場合は、JScrollPaneのスクロール量を変更します。

↑10 ↓11

JScrollBarをJSliderとして代用する

JScrollBarをJSliderとして使用する

JScrollBarJSliderの代わりとして使用します。

JScrollBarのButtonの位置を変更

JScrollBarのButtonの位置を変更

JScrollBarのスクロール移動Buttonの配置位置をレイアウトマネージャーを使って変更します。

TableCellEditorをスクロール可能にする

TableCellEditorをスクロール可能にする

JTableTableCellEditorとして、JTextAreaJScrollPaneを使用します。

JScrollBarが非表示でもMouseWheelでScrollする

JScrollBarが非表示でもMouseWheelでScrollする

JScrollBarが非表示の場合のMouseWheelによるScrollをテストします。

JScrollBarのKnobの最小サイズを設定する

JScrollBarのKnobの最小サイズを設定する

JScrollBarKnobの最小サイズを設定します。

GridLayoutとJScrollPaneを使ったグリッド単位での表示切り替え

GridLayoutとJScrollPaneを使ったグリッド単位での表示切り替え

JPanelGridLayoutでコンポーネントを追加し、これをJScrollPaneに配置して、グリッド単位での表示、スクロールアニメーションによる切り替えを行います。

JScrollPane内にあるJTableなどで追加した行が可視化されるようにスクロールする

JScrollPane内にあるJTableなどで追加した行が可視化されるようにスクロールする

JScrollPaneJViewport内にあるJTableJListJTreeで、それぞれ追加された最終行が可視化されるようにスクロールします。

JSplitPaneに2つのJTableを配置してスクロールを同期する

JSplitPaneに2つのJTableを配置してスクロールを同期する

JSplitPaneの左右に、JTableをそれぞれ配置し、スクロールや追加などが同期するようにモデルを共有します。

JScrollBarに検索結果をハイライト表示

JScrollBarに検索結果をハイライト表示

JScrollBarなどにJTextAreaの文字列検索の結果をハイライト表示します。

JScrollBarが最後までスクロールしたことを確認する

JScrollBarが最後までスクロールしたことを確認する

JScrollBarが最後までスクロールしたかどうかを確認します。

↑20 ↓21

JTextPaneを一行に制限してスタイル可能なJTextFieldとして使用する

JTextPaneを一行に制限してスタイル可能なJTextFieldとして使用する

JTextPaneの行数を一行のみに制限して、文字色などのスタイル付けが可能なJTextFieldとして使用します。

JTableのセルを横方向に連結する

JTableのセルを横方向に連結する

JTableのセルを横方向に連結するセルレンダラーを作成します。

JScrollBarを半透明にする

JScrollBarを半透明にする

半透明のJScrollBarを作成して、JViewport内部に配置します。

JViewportにBorderを設定する

JViewportにBorderを設定する

JViewportBorderを設定して余白を作成します。

JLabelとIconで作成した検索位置表示バーをマウスで操作する

JLabelとIconで作成した検索位置表示バーをマウスで操作する

JScrollBarからBoundedRangeModelを取得し、JLabelIconで表示した検索位置表示バーをマウスで操作可能にします。

JTextFieldの表示領域をJScrollBarでスクロールする

JTextFieldの表示領域をJScrollBarでスクロールする

JTextFieldの表示領域をJScrollBarでスクロール可能にします。

MouseWheelEventを親のJScrollPaneに転送する

MouseWheelEventを親のJScrollPaneに転送する

JLayerを使って、ネストするJScrollPaneへのMouseWheelEventを転送し、スクロールが継続するように設定します。

JScrollPaneでMouseWheelによる水平スクロールを行う

JScrollPaneでMouseWheelによる水平スクロールを行う

JScrollPaneで水平スクロールを行えるように、その内部のViewHorizontalScrollBarMouseWheelListenerを設定します。

JScrollPane内に配置したJPanelをマウスで拡大、縮小、移動する

JScrollPane内に配置したJPanelをマウスで拡大、縮小、移動する

JScrollPane内に配置したJPanelを、マウスホイールを使った拡大縮小と、スクロールバーを使った表示領域の移動が可能になるように設定します。

JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する

JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する

半透明のJScrollBarJTable上に重ねてレイアウトするJScrollPaneを作成します。

FocusTraversalPolicyを使用してフォーカスを取得したコンポーネントまでスクロールする

FocusTraversalPolicyを使用してフォーカスを取得したコンポーネントまでスクロールする

FocusTraversalPolicyを使用してフォーカスをもつコンポーネントを取得し、その全体が表示されるまでスクロールします。