JTextAreaなどのCaretを非表示にする
Total: 4912, Today: 1, Yesterday: 2
Posted by aterai at
Last-modified:
Summary
JTextAreaなどのCaretを非表示にするテストを行います。
Screenshot

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