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
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
上に固定して描画します。