2017-09-03 2 views
0

ノードをドラッグ&ドロップすると、ノードの新しい親が展開されます。私はこれを無効にしたい。ドラッグアンドドロップ後にJTreeを展開できないようにする

クラスTransferHandlerを拡張し、メソッドimportDataをオーバーライドしました。 この方法では、私は実際の動きをします。ノードの移動後、親ノードisExpandedと私が答えとしてfalseを取得するかどうかを確認します。
どこで、どのようにして展開をキャンセルできますか?

+1

を、ポスト[MCVE]または[ショート、自炊、正しい例](HTTP://www.sscce .org /)。 –

答えて

0

たぶん、あなたはaddTreeWillExpandListenerを使用することができ、このようなリスナーを追加:早いほど良いヘルプについて

public class DisableExpansionListener implements TreeWillExpandListener { 
    @Override 
    public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException { 
     throw new ExpandVetoException(event, "Disallow all expansions!"); 
    } 

    @Override 
    public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException 
     // allow collapsing! 
    } 
} 
+0

私が理解しているように、ツリーを拡張する可能性はありません。私は、ドラッグ&ドロップ後に自動展開を無効にしたいだけです。ありがとう。 –

+0

私は知っていますが、すでにTransferHandlerを実装しているので、ドラッグが開始されたときにリスナーを追加し、終了後にリスナーを削除する必要があります。 – user3151902

+0

私はあなたがそこで何をしたかを見ます;) –

関連する問題