カスタム TreeCellRenderers を使用して JTree から派生したクラスがあります。そのツリーにドラッグ アンド ドロップを実装したので、ユーザーはツリー ノードを再配置できます。
ドロップ モードはDropMode.ON_OR_INSERT
であるため、ユーザーは他のノード上または他のノード間でノードをドロップできます。ユーザーがノードをドラッグしているときに、ポインターがノード間を指している場合、ノードが挿入される場所を示す青い線が描画されます。ポインターがノード上にある場合、ノードが追加される場所は示されません。これは、カスタム TreeCellRenderer を使用した場合にのみ発生します。DefaultTreeCellRenderer を使用すると、ドラッグ中にドロップ ノードが強調表示されます。
Web でいくつかの例を見つけました。現在 JTree で強調表示されているノードを保存し、TreeCellRenderer からクエリを実行し、強調表示されるはずのノードに対して TreeCellRenderer が呼び出された場合にノードを別の色でレンダリングします。
ドロップ ノードを強調表示するためのより洗練されたソリューションはありますか? DefaultTreeRenderer がこれを行う方法を理解できませんでした-機能をドラッグアンドドロップするためのフックがないようです。