Swing/HorizontalVisibility のバックアップ(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/HorizontalVisibility へ行く。
- 1 (2014-05-14 (水) 16:05:32)
- 2 (2014-05-19 (月) 19:21:32)
- 3 (2014-05-20 (火) 20:20:24)
- 4 (2014-05-27 (火) 16:07:34)
- 5 (2014-11-04 (火) 04:11:43)
- 6 (2015-04-28 (火) 20:49:10)
- 7 (2017-03-08 (水) 12:57:15)
- 8 (2017-09-22 (金) 15:21:31)
- 9 (2018-02-24 (土) 19:51:30)
- 10 (2019-03-05 (火) 18:55:35)
- 11 (2020-12-18 (金) 16:04:24)
- 12 (2023-05-30 (火) 22:16:57)
- 13 (2025-01-03 (金) 08:57:02)
- 14 (2025-01-03 (金) 09:01:23)
- 15 (2025-01-03 (金) 09:02:38)
- 16 (2025-01-03 (金) 09:03:21)
- 17 (2025-01-03 (金) 09:04:02)
- 18 (2025-01-05 (日) 21:43:30)
- 19 (2025-06-19 (木) 12:41:37)
- 20 (2025-06-19 (木) 12:43:47)
TITLE:JTextFieldの表示領域をJScrollBarでスクロールする
Posted by aterai at 2014-05-12
JTextFieldの表示領域をJScrollBarでスクロールする
JTextFieldの表示領域をJScrollBarでスクロール可能にします。
Screenshot

Advertisement
サンプルコード
解説
上記のサンプルでは、JTextField#getHorizontalVisibility()で取得したBoundedRangeModel(可視領域のモデル)をJScrollBarに設定することで、これを使用したスクロールや現在の可視領域の位置、幅の表示などが可能になっています。
- 注: ノブの表示
- 文字列をすべて削除するなどしても、ノブが非表示にならない
- 注:
setCaretPosition: 0JTextField#setCaretPosition(0);はJTextFieldにフォーカスが無い場合無効?JScrollBarが同期しない場合がある
- 注:
setScrollOffset: 0JScrollBarのノブがマウスドラッグに反応しなくなる場合がある?
JScrollPane scroll = new JScrollPane(new JTextField(TEXT), ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);- 縦スクロールバーを非表示にした
JScrollPaneを使用する場合、JTextField内の文字列選択でスクロールしない - 文字列を適当な長さまで削除するとノブが非表示になる
- 縦スクロールバーを非表示にした
コメント
- 可視領域の幅の表示を考えると
ArrowButtonは不要なので、JLabelとIconで作成した検索位置表示バーをマウスで操作するのような外見のScrollBarを使用した方が良いかもしれない。 -- aterai
