ビジネス ロジックがモデルを更新するときにツリー ノードの色を変更し、1 秒待ってから色を元に戻す必要があります。
基本的には、こちらのようなものを作成したいと思います。実行時に JList の行の色を変更しますが、JTree 用です。
同様の手法を使用できますが、祖先ノードの色も変更しないため、ユーザーは展開されていなくても通知を見ることができます。
どうすればいいですか?
ビジネス ロジックがモデルを更新するときにツリー ノードの色を変更し、1 秒待ってから色を元に戻す必要があります。
基本的には、こちらのようなものを作成したいと思います。実行時に JList の行の色を変更しますが、JTree 用です。
同様の手法を使用できますが、祖先ノードの色も変更しないため、ユーザーは展開されていなくても通知を見ることができます。
どうすればいいですか?
まず、ビジネス モデルが更新されたら、ツリー モデルで適切なツリー更新イベントを発生させて、JTree が更新を認識できるようにします。
次に、色を設定する TreeCellRenderer を定義する必要があります。ビジネス モデルが更新されたら、強調表示するノードをレンダラーに指示します。
ただし、ここでのコツは色をオフにすることです。Thread を定義するか、Executor を 1000 ミリ秒スリープさせてから、ノードを強調表示しないようにレンダラーに指示し、ツリー更新イベントを再度発生させて、JTree が適切に再描画されるようにすることができます。
これをチェックしてくださいJTreeでノードの子孫を強調表示する
代わりに親を強調表示するように簡単に変更できます。これで、他のスレッドで提供したソリューションのように、時間指定の強調表示用のソリューションをプラグインするだけで済みます。ハイライト、タイマー、未設定のハイライト。
モデルの更新が頻繁で、ハイライトスレッドの実行をある程度制御したい場合は、SwingWorkerとExecutorを使用します。