TITLE:DefaultHighlighterの描画方法を変更する

Posted by at 2013-08-26

DefaultHighlighterの描画方法を変更する

`DefaultHighlighter`の描画方法を変更して、文字列が選択されている場合のハイライト表示を変更します。

  • &jnlp;
  • &jar;
  • &zip;
DrawsLayeredHighlights.png

サンプルコード

DefaultHighlighter dh = (DefaultHighlighter)textArea.getHighlighter();
dh.setDrawsLayeredHighlights(false);
View in GitHub: Java, Kotlin

解説

  • `DefaultHighlighter#setDrawsLayeredHighlights(ture)`
    • デフォルト
    • 文字列の描画直前にハイライトも描画されるため、文字列の選択描画より手前にハイライトの矩形が表示される
    • 選択時の文字色が反転する場合(`MetalLookAndFeel以外のLookAndFeel`など)、ハイライトの色によっては見づらくなる
  • `DefaultHighlighter#setDrawsLayeredHighlights(false)`
    • 文字列の選択描画より奥にハイライトが表示されるため、ハイライトの矩形は塗り潰れさて非表示となる
    • 文字列選択で、ハイライトされている箇所がわかりづらくなる

参考リンク

コメント