ノードをドラッグ&ドロップすると、ノードの新しい親が展開されます。私はこれを無効にしたい。ドラッグアンドドロップ後にJTreeを展開できないようにする
クラスTransferHandler
を拡張し、メソッドimportData
をオーバーライドしました。 この方法では、私は実際の動きをします。ノードの移動後、親ノードisExpanded
と私が答えとしてfalse
を取得するかどうかを確認します。
どこで、どのようにして展開をキャンセルできますか?
ノードをドラッグ&ドロップすると、ノードの新しい親が展開されます。私はこれを無効にしたい。ドラッグアンドドロップ後にJTreeを展開できないようにする
クラスTransferHandler
を拡張し、メソッドimportData
をオーバーライドしました。 この方法では、私は実際の動きをします。ノードの移動後、親ノードisExpanded
と私が答えとしてfalse
を取得するかどうかを確認します。
どこで、どのようにして展開をキャンセルできますか?
たぶん、あなたは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!
}
}
私が理解しているように、ツリーを拡張する可能性はありません。私は、ドラッグ&ドロップ後に自動展開を無効にしたいだけです。ありがとう。 –
私は知っていますが、すでにTransferHandlerを実装しているので、ドラッグが開始されたときにリスナーを追加し、終了後にリスナーを削除する必要があります。 – user3151902
私はあなたがそこで何をしたかを見ます;) –
を、ポスト[MCVE]または[ショート、自炊、正しい例](HTTP://www.sscce .org /)。 –