2

右クリックすると行が強調表示される JTextArea があります。私はこれを達成することができましたが (以前の投稿の大きな助けを使用して)、何らかのトグル機能も必要です。つまり、行が強調表示されていない場合は右クリックで強調表示され、その逆も同様です。

これを参考に、選択した行が既に強調表示されているかどうかを確認することはできますか?コメント/提案?

これを行う1つの方法は、すべてのハイライトを追跡することです(おそらく、ここの例に示すように HashMap を使用します)ことを理解していますが、このメソッドをヘルパークラスで記述しているため、これにより複雑さがわずかに増しますこれらのテキスト領域を含む複数のタブ。他の代替ソリューションは非常に役立ちます(ハイライトの切り替えなど)

4

2 に答える 2

3

あなたが提供したリンクにあなたの答えがあると思います。

JTextArea各インスタンスがそのハイライトを格納する責任を負う場所を拡張する独自のクラスを作成し、代わりに独自のクラスを使用するだけです。

ところで@nIcE cOw素晴らしい答えです(そこに+1)。

于 2012-06-15T18:21:30.713 に答える
2

SWTStyledTextクラスがあります。

Swing 用のスタイル付きテキスト クラスを作成し、Documentインターフェースを実装して、ハイライトや追跡したいその他のテキスト装飾を追跡することができます。このクラスは、スタイル付きテキスト内の特定の文字位置の装飾を決定するメソッドをカプセル化します。

于 2012-06-15T18:18:28.203 に答える