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)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JTextFieldの表示領域をJScrollBarでスクロールする #navi(../) #tags(JTextField, JScrollBar, BoundedRangeModel) RIGHT:Posted by &author(aterai); at 2014-05-12 * JTextFieldの表示領域をJScrollBarでスクロールする [#ac86776b] `JTextField`の表示領域を`JScrollBar`でスクロール可能にします。 #download #ref(https://lh3.googleusercontent.com/-cOeCI-IblNs/U2-HtWna-xI/AAAAAAAACFI/z53K4Pkgpfo/s800/HorizontalVisibility.png) ** サンプルコード [#e0731aeb] #code(link){{ scroller.setModel(textField.getHorizontalVisibility()); }} ** 解説 [#sb017c03] 上記のサンプルでは、`JTextField#getHorizontalVisibility()`で取得した`BoundedRangeModel`(可視領域のモデル)を`JScrollBar`に設定することで、これを使用したスクロールや現在の可視領域の位置、幅の表示などが可能になっています。 - 注: ノブの表示 -- 文字列をすべて削除するなどしても、ノブが非表示にならない - 注: `setCaretPosition: 0` -- `JTextField#setCaretPosition(0);`は`JTextField`にフォーカスが無い場合無効? -- `JScrollBar`が同期しない場合がある - 注: `setScrollOffset: 0` -- `JScrollBar`のノブがマウスドラッグに反応しなくなる場合がある? ---- - `JScrollPane scroll = new JScrollPane(new JTextField(TEXT), ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);` -- 縦スクロールバーを非表示にした`JScrollPane`を使用する場合、`JTextField`内の文字列選択でスクロールしない -- 文字列を適当な長さまで削除するとノブが非表示になる //** 参考リンク ** コメント [#r73c1367] - 可視領域の幅の表示を考えると`ArrowButton`は不要なので、[[JLabelとIconで作成した検索位置表示バーをマウスで操作する>Swing/BoundedRangeModel]]のような外見の`ScrollBar`を使用した方が良いかもしれない。 -- [[aterai]] &new{2014-05-14 (水) 16:05:32}; #comment