現在Javaでテキストエディタを作成しています TeraPadみたいに特定の語句を強調表示できるように JTextPane(フィールドで保持) DocumentListenerを実装したクラス(JTextPaneに編集があったらSwingWorkerを継承したクラスのインスタンスを生成してexecute) SwingWorkerを継承したクラス(doBackgroundで語句の検索や位置の取得,publishでそれらの情報を送ってproccesで実際に強調表示する) のようなことをしているのですが SwingWorkerを通じてJTextPaneの文字を強調表示しようとすると 無限ループしてしまいます これってSwingWorkerで強調表示したときにもDocumentListenerが反応してるんでしょうか? あとどうすれば無限ループしないようにできますか?
↧