JScrollPane JViewport JScrollBar
このページでは、JScrollPane、JViewport、JScrollBarといったスクロール関係のコンポーネントの使い方を集めて一覧にしています。
- JScrollPane JViewport JScrollBar
- ↑10 ↓11
- JScrollBarをJSliderとして代用する
- JScrollBarのButtonの位置を変更
- TableCellEditorをスクロール可能にする
- JScrollBarが非表示でもMouseWheelでScrollする
- JScrollBarのKnobの最小サイズを設定する
- GridLayoutとJScrollPaneを使ったグリッド単位での表示切り替え
- JScrollPane内にあるJTableなどで追加した行が可視化されるようにスクロールする
- JSplitPaneに2つのJTableを配置してスクロールを同期する
- JScrollBarに検索結果をハイライト表示
- JScrollBarが最後までスクロールしたことを確認する
- ↑20 ↓21
- JTextPaneを一行に制限してスタイル可能なJTextFieldとして使用する
- JTableのセルを横方向に連結する
- JScrollBarを半透明にする
- JViewportにBorderを設定する
- JLabelとIconで作成した検索位置表示バーをマウスで操作する
- JTextFieldの表示領域をJScrollBarでスクロールする
- MouseWheelEventを親のJScrollPaneに転送する
- JScrollPaneでMouseWheelによる水平スクロールを行う
- JScrollPane内に配置したJPanelをマウスで拡大、縮小、移動する
- JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する
- ↑30 ↓31
- FocusTraversalPolicyを使用してフォーカスを取得したコンポーネントまでスクロールする
- JScrollPane上にマウスカーソルが存在する場合のみJScrollBarを表示する
- JTableをスクロールバー無しのドラッグでスクロールする
- JListがJScrollPane内に組み込まれている場合のビューポートサイズを設定する
- JScrollPaneの行ヘッダを右側に変更する
- JTabbedPaneのスクロールレイアウトポリシーですべてのタブが非表示にならないよう設定する
- JListの選択色を半透明に設定する
- JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定
- JScrollPane内のコンテンツがJViewportの幅より大きい場合その右端に影を描画する
- JScrollBarのトラック内でクリックした位置につまみを移動する
- ↑40 ↓41
- ↑50 ↓51
- JScrollBarのKnobの最小サイズをJScrollPaneのサイズ相対に変更する
- JComboBoxのドロップダウンリストで使用するJScrollBarを変更する
- JTableの水平JScrollBarをリサイズ可能にするためJSplitPaneに再配置する
- JScrollBarの下にスクロールロックボタンを配置する
- JScrollPaneに先頭領域までのスクロールバックを実行するJButtonを追加する
- CardLayoutで作成したJTabbedPane風コンポーネントのタブエリアに水平JScrollBarを表示する
- JTreeの選択されたノードが表示される位置まで水平スクロールする
- JScrollPaneの範囲外へのマウスドラッグによるスクロールで半透明の楕円を描画する
- JScrollBarのノブ位置が境界上かどうかでその矢印ボタンの有効・無効を切り替える
- JScrollBarのノブを常に表示する
- ↑60 ↓61
- NimbusLookAndFeelで子テキストコンポーネントのフォーカスボーダーを親JScrollPaneに適用する
- JTableを配置したJScrollPaneの右上コーナー区画に配置されるコンポーネントを取得する
- JTableが配置されたJScrollPaneのBorderを変更する
- JScrollPaneにJTableを配置して連続月間カレンダーを作成する
- JScrollBarのトラックハイライト色を変更する
- JTableのセル編集が開始でセルエディタ全体が表示される位置までスクロールする
- JListに固定ヘッダを実装する
- JMenuのJPopupMenuにスクロール可能なJListを配置する
- JTextAreaの全選択で表示領域を維持する
- JScrollPaneからあふれるJListのアイテムをフェイドアウト表示する
- JListで週番号を表示するカレンダーを作成する
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として使用する
JScrollBarをJSliderの代わりとして使用します。
JScrollBarのButtonの位置を変更
JScrollBarのButtonの位置を変更
JScrollBarのスクロール移動Buttonの配置位置をレイアウトマネージャーを使って変更します。
TableCellEditorをスクロール可能にする
TableCellEditorをスクロール可能にする
JTableのTableCellEditorとして、JTextAreaとJScrollPaneを使用します。
JScrollBarが非表示でもMouseWheelでScrollする
JScrollBarが非表示でもMouseWheelでScrollする
JScrollBarが非表示の場合のMouseWheelによるScrollをテストします。
JScrollBarのKnobの最小サイズを設定する
JScrollBarのKnobの最小サイズを設定する
JScrollBarのKnobの最小サイズを設定します。
GridLayoutとJScrollPaneを使ったグリッド単位での表示切り替え
GridLayoutとJScrollPaneを使ったグリッド単位での表示切り替え
JPanelにGridLayoutでコンポーネントを追加し、これをJScrollPaneに配置して、グリッド単位での表示、スクロールアニメーションによる切り替えを行います。
JScrollPane内にあるJTableなどで追加した行が可視化されるようにスクロールする
JScrollPane内にあるJTableなどで追加した行が可視化されるようにスクロールする
JScrollPaneのJViewport内にあるJTable、JList、JTreeで、それぞれ追加された最終行が可視化されるようにスクロールします。
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を設定する
JViewportにBorderを設定して余白を作成します。
JLabelとIconで作成した検索位置表示バーをマウスで操作する
JLabelとIconで作成した検索位置表示バーをマウスで操作する
JScrollBarからBoundedRangeModelを取得し、JLabelとIconで表示した検索位置表示バーをマウスで操作可能にします。
JTextFieldの表示領域をJScrollBarでスクロールする
JTextFieldの表示領域をJScrollBarでスクロールする
JTextFieldの表示領域をJScrollBarでスクロール可能にします。
MouseWheelEventを親のJScrollPaneに転送する
MouseWheelEventを親のJScrollPaneに転送する
JLayerを使って、ネストするJScrollPaneへのMouseWheelEventを転送し、スクロールが継続するように設定します。
JScrollPaneでMouseWheelによる水平スクロールを行う
JScrollPaneでMouseWheelによる水平スクロールを行う
JScrollPaneで水平スクロールを行えるように、その内部のViewやHorizontalScrollBarにMouseWheelListenerを設定します。
JScrollPane内に配置したJPanelをマウスで拡大、縮小、移動する
JScrollPane内に配置したJPanelをマウスで拡大、縮小、移動する
JScrollPane内に配置したJPanelを、マウスホイールを使った拡大縮小と、スクロールバーを使った表示領域の移動が可能になるように設定します。
JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する
JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する
半透明のJScrollBarをJTable上に重ねてレイアウトするJScrollPaneを作成します。
↑30 ↓31
FocusTraversalPolicyを使用してフォーカスを取得したコンポーネントまでスクロールする
FocusTraversalPolicyを使用してフォーカスを取得したコンポーネントまでスクロールする
FocusTraversalPolicyを使用してフォーカスをもつコンポーネントを取得し、その全体が表示されるまでスクロールします。
JScrollPane上にマウスカーソルが存在する場合のみJScrollBarを表示する
JScrollPane上にマウスカーソルが存在する場合のみJScrollBarを表示する
JScrollPane上にマウスカーソルが存在する場合だけ、縦JScrollBarが表示されるように設定します。
JTableをスクロールバー無しのドラッグでスクロールする
JTableをスクロールバー無しのドラッグでスクロールする
JTableをスクロールバーではなく、内部の行をマウスでドラッグすることでスクロール可能になるよう設定します。
JListがJScrollPane内に組み込まれている場合のビューポートサイズを設定する
JListがJScrollPane内に組み込まれている場合のビューポートサイズを設定する
JScrollPane内に組み込まれたJListを表示するために必要なビューポートの推奨サイズを設定します。
JScrollPaneの行ヘッダを右側に変更する
JScrollPaneの行ヘッダを右側に変更する
JScrollPaneのレイアウトマネージャを使用して、行ヘッダをデフォルトの左側から右側に変更します。
JTabbedPaneのスクロールレイアウトポリシーですべてのタブが非表示にならないよう設定する
JTabbedPaneのスクロールレイアウトポリシーですべてのタブが非表示にならないよう設定する
JTabbedPaneをスクロールタブレイアウトポリシーにしたとき、すべてのタブが非表示になる状態を回避するための方法をテストしています。
JListの選択色を半透明に設定する
JListの選択色を半透明に設定する
JListの選択色を半透明に設定、また背景色を透明にして親パネルの背景を透かして表示します。
JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定
JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定
JTableの幅が一定以下の場合は列幅を維持して水平スクロールバーを表示し、それ以上になる場合は列幅の自動調整を実行してJTableの幅まで拡張するよう設定します。
JScrollPane内のコンテンツがJViewportの幅より大きい場合その右端に影を描画する
JScrollPane内のコンテンツがJViewportの幅より大きい場合その右端に影を描画する
JScrollPaneに追加したコンポーネントのコンテンツ幅がJViewportの幅より大きく、水平スクロールバーが表示される状態の場合その右端に影を表示します。
JScrollBarのトラック内でクリックした位置につまみを移動する
JScrollBarのトラック内でクリックした位置につまみを移動する
JScrollBarのトラック内でマウスをクリックしたときその位置につまみを移動するよう設定します。
↑40 ↓41
JScrollBarのArrowButtonを非表示にする
JScrollBarのArrowButtonを非表示にする
JScrollBarのArrowButtonを非表示に設定します。
JTableのドラッグスクロールをタッチスクリーンで実行する
JTableのドラッグスクロールをタッチスクリーンで実行する
JTableのドラッグスクロールをタッチスクリーンで実行可能にするためのリスナーを作成します。
JEditorPaneのミニマップを表示する
JEditorPaneのミニマップを表示する
JEditorPaneのミニマップをImageIconで作成し、これをLayoutManagerを使用してJScrollPane上に重ねて表示します。
JTextAreaの最終行を超えてスクロール可能にする
JTextAreaの最終行を超えてスクロール可能にする
JTextAreaの高さを拡張し、その最終行を超えてスクロール可能になるよう設定します。
JScrollBar上にマウスカーソルが入ったらその幅を拡張する
JScrollBar上にマウスカーソルが入ったらその幅を拡張する
JScrollBar上へのマウスカーソルの出入りをJLayerで取得してその幅を拡大・縮小します。
JPanelの子コンポーネントを水平方向で折り返す
JPanelの子コンポーネントを水平方向で折り返す
JPanelに配置した子コンポーネントを水平方向で折り返し、またそれらの水平間隔を動的に均等になるよう拡大します。
JEditorPane内のリンク参照位置までスクロールする
JEditorPane内のリンク参照位置までスクロールする
JEditorPaneのHTMLDocument内に配置されたリンクのアンカータグが表示される位置までスクロールします。
JEditorPaneのスクロールに連動してJTreeのノードを選択する
JEditorPaneのスクロールに連動してJTreeのノードを選択する
JEditorPaneのスクロールに連動して表示状態になったリンクと同名のJTreeノードを検索・選択します。
JListのスクロールをセルユニット単位にするかを変更する
JListのスクロールをセルユニット単位にするかを変更する
JListのスクロールバーをマウスでドラッグした場合、セルの上辺を固定したユニット単位のスクロールかなめらなかにスクロールするかを設定します。
JScrollPaneの角を丸める
JScrollPaneの角を丸める
JScrollPaneに角丸表示をおこなうためのBorderを設定します。
↑50 ↓51
JScrollBarのKnobの最小サイズをJScrollPaneのサイズ相対に変更する
JScrollBarのKnobの最小サイズをJScrollPaneのサイズ相対に変更する
JScrollBarのKnobの最小サイズを固定値ではなく、JScrollPaneのサイズ相対になるよう設定します。
JComboBoxのドロップダウンリストで使用するJScrollBarを変更する
JComboBoxのドロップダウンリストで使用するJScrollBarを変更する
JComboBoxのドロップダウンリストで使用する縦JScrollBarの幅やスタイル、増減ボタンの有無などを変更します。
JTableの水平JScrollBarをリサイズ可能にするためJSplitPaneに再配置する
JTableの水平JScrollBarをリサイズ可能にするためJSplitPaneに再配置する
JTableを配置したJScrollPaneから水平JScrollBarを取り出し、JSplitPaneに再配置してリサイズ可能にします。
JScrollBarの下にスクロールロックボタンを配置する
JScrollBarの下にスクロールロックボタンを配置する
JScrollPaneから取得した垂直JScrollBarとそれらのスクロールをロックするためのJToggleButtonを別パネルに配置します。
JScrollPaneに先頭領域までのスクロールバックを実行するJButtonを追加する
JScrollPaneに先頭領域までのスクロールバックを実行するJButtonを追加する
JScrollPaneにJButtonを描画するJLayerを設定し、ここでクリックイベントを取得したら先頭領域までのスクロールバックを実行します。
CardLayoutで作成したJTabbedPane風コンポーネントのタブエリアに水平JScrollBarを表示する
CardLayoutで作成したJTabbedPane風コンポーネントのタブエリアに水平JScrollBarを表示する
CardLayoutを使用してJTabbedPane風のコンポーネントを作成し、そのタブエリアに水平JScrollBarを表示してスクロール可能にします。
JTreeの選択されたノードが表示される位置まで水平スクロールする
JTreeの選択されたノードが表示される位置まで水平スクロールする
JTreeのノードがキー入力で選択されたとき、そのノードまで垂直方向だけでなく水平方向にもスクロールするよう設定します。
JScrollPaneの範囲外へのマウスドラッグによるスクロールで半透明の楕円を描画する
JScrollPaneの範囲外へのマウスドラッグによるスクロールで半透明の楕円を描画する
JScrollPaneの範囲外にマウスドラッグでスクロールしようとするイベントを取得したら、JLayerを使用してJViewportの端に半透明の楕円を描画しこれ以上移動できないことを表現します。
JScrollBarのノブ位置が境界上かどうかでその矢印ボタンの有効・無効を切り替える
JScrollBarのノブ位置が境界上かどうかでその矢印ボタンの有効・無効を切り替える
JScrollBarのノブ位置が境界値まで到達したとき、対応する増加、減少矢印ボタンを無効化します。
JScrollBarのノブを常に表示する
JScrollBarのノブを常に表示する
JScrollBarのノブの長さがトラックと同じ長さになっても非表示にせず、常に表示されるよう設定します。
↑60 ↓61
NimbusLookAndFeelで子テキストコンポーネントのフォーカスボーダーを親JScrollPaneに適用する
NimbusLookAndFeelで子テキストコンポーネントのフォーカスボーダーを親JScrollPaneに適用する
NimbusLookAndFeelでJScrollPaneのビューポートにテキストコンポーネントがひとつだけ配置されている場合、そのフォーカスボーダーを親JScrollPaneに適用するかを切り替えます。
JTableを配置したJScrollPaneの右上コーナー区画に配置されるコンポーネントを取得する
JTableを配置したJScrollPaneの右上コーナー区画に配置されるコンポーネントを取得する
JTableを配置したJScrollPaneの右上コーナー区画に配置されるコンポーネントを取得し、JTableの幅よりJViewportの幅が大きくなる場合はそれを非表示に切り替えます。
JTableが配置されたJScrollPaneのBorderを変更する
JTableが配置されたJScrollPaneのBorderを変更する
JTableが配置されたJScrollPaneに適用されるBorderをまとめて変更します。
JScrollPaneにJTableを配置して連続月間カレンダーを作成する
JScrollPaneにJTableを配置して連続月間カレンダーを作成する
JScrollPaneにJTableを配置してマウスホイールなどでスクロール可能な連続月間カレンダーを作成します。
JScrollBarのトラックハイライト色を変更する
JScrollBarのトラックハイライト色を変更する
JScrollBarのトラック色やトラックをマウスでクリックした時に使用されるとハイライト色を変更します。
JTableのセル編集が開始でセルエディタ全体が表示される位置までスクロールする
JTableのセル編集が開始でセルエディタ全体が表示される位置までスクロールする
JTableへのキー入力でセル編集が開始したとき、セルエディタ全体が表示される位置までスクロールするよう設定します。
JListに固定ヘッダを実装する
JListに固定ヘッダを実装する
JListの表示領域に存在する行を検索して特定のデータを保持するセルをヘッダとしてJLayer上に固定して描画します。
JMenuのJPopupMenuにスクロール可能なJListを配置する
JMenuのJPopupMenuにスクロール可能なJListを配置する
JMenuのJPopupMenuにJMenuItemではなくスクロールや選択が可能なJListを使用します。
JTextAreaの全選択で表示領域を維持する
JTextAreaの全選択で表示領域を維持する
JTextAreaの複数行テキストをすべて選択したとき、末尾のキャレット位置までスクロールするのではなく、全選択前の表示領域を維持する全選択アクションを作成します。
JScrollPaneからあふれるJListのアイテムをフェイドアウト表示する
JScrollPaneからあふれるJListのアイテムをフェイドアウト表示する
JScrollPaneの上下からあふれるJListのリストアイテムが存在する場合、それをフェイドアウト効果で表示するよう設定します。
JListで週番号を表示するカレンダーを作成する
JListで週番号を表示するカレンダーを作成する
JListを使用して週番号を表示し、JScrollPaneの行ヘッダーとして配置します。



























