概要

JTextAreaなどのCaretを非表示にするテストを行います。

サンプルコード

textArea.setCaret(new DefaultCaret() {
  @Override public boolean isVisible() {
    return false;
  }
});
View in GitHub: Java, Kotlin

解説

  • Hide Caret
    • DefaultCaret#isVisible()が常にfalseを返すようにオーバーライドしたCaretJTextAreaに設定することで非表示化
    • JTextArea#setCaret(null)のようにnullを設定するとNullPointerExceptionが発生する
    • textArea.getCaret().deinstall(textArea)を実行するとカーソルキーの移動などでNullPointerExceptionが発生する
  • Hide Highlighter
    • JTextArea#setHighlighter(null)のようにnullを設定して選択ハイライトを非表示にする
  • Editable
  • Focusable
    • JTextArea#setFocusable(false)を設定すると選択不可になり、結果Caretも選択ハイライトも非表示になる

参考リンク

コメント