Swing/HideCaret のバックアップ(No.11)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/HideCaret へ行く。
- 1 (2017-02-20 (月) 19:40:38)
- 2 (2017-02-28 (火) 17:51:53)
- 3 (2017-12-12 (火) 13:43:55)
- 4 (2018-02-15 (木) 14:23:42)
- 5 (2019-08-20 (火) 19:03:42)
- 6 (2021-04-13 (火) 14:43:38)
- 7 (2022-12-18 (日) 21:20:28)
- 8 (2022-12-19 (月) 00:20:42)
- 9 (2025-01-03 (金) 08:57:02)
- 10 (2025-01-03 (金) 09:01:23)
- 11 (2025-01-03 (金) 09:02:38)
- 12 (2025-01-03 (金) 09:03:21)
- 13 (2025-01-03 (金) 09:04:02)
- category: swing folder: HideCaret title: JTextAreaなどのCaretを非表示にする tags: [JTextArea, JTextComponent, DefaultCaret, Focus] author: aterai pubdate: 2017-01-02T02:13:16+09:00 description: JTextAreaなどのCaretを非表示にするテストを行います。 image: https://drive.google.com/uc?id=1K6e6fysV1_WfG9uuYpD3nh1eKFVrGTfr6g
Summary
JTextArea
などのCaret
を非表示にするテストを行います。
Screenshot

Advertisement
Source Code Examples
textArea.setCaret(new DefaultCaret() {
@Override public boolean isVisible() {
return false;
}
});
View in GitHub: Java, Kotlin解説
Hide Caret
DefaultCaret#isVisible()
が常にfalse
を返すようにオーバーライドしたCaret
をJTextArea
に設定することで非表示化JTextArea#setCaret(null)
のようにnull
を設定するとNullPointerException
が発生するtextArea.getCaret().deinstall(textArea)
を実行するとカーソルキーの移動などでNullPointerException
が発生する
Hide Highlighter
JTextArea#setHighlighter(null)
のようにnull
を設定して選択ハイライトを非表示にする
Editable
JTextArea#setEditable(false)
を設定すると編集不可になり、選択は可能だがCaret
は非表示になる- [JDK-4512626] Non-editable JTextArea provides no visual indication of keyboard focus - Java Bug Systemで編集不可でも
Caret
が非表示にならないよう修正される
Focusable
JTextArea#setFocusable(false)
を設定すると選択不可になり、結果Caret
も選択ハイライトも非表示になる
参考リンク
- DefaultCaret#isVisible() (Java Platform SE 8)
- [JDK-4512626] Non-editable JTextArea provides no visual indication of keyboard focus - Java Bug System