Hallo Forum,
ich habe die Forensuche benutzt, konnte aber kein Thema finden, dass meine Problematik schildert.
Ich habe ein JTree mit DefaultMutableTreeNodes und ein TextFeld als Drop Target.
Wenn ich im Tree mit rechts Klick ein Objekt auswähle, springt bei uns ein PopMenu auf.
Wenn ich auf einen Knoten klicke, springt ein anderes Popup Menu auf.
Soweit zur Erklärung.
Wenn ich nun ein Element vom Tree ins TextField ziehe, blende ich dieses im Tree aus (über einen Filter), um dem Benutzer zu zeigen, dass er es nicht noch einmal rüber schieben kann.
nun zum Problem:
sobald ich ein Objekt rüber gezogen habe (per Drag and Drop) und klicke mit dem rechts klick auf ein Objekt im Tree springt das Popup auf, dass normal nur beim Knoten aufspringen sollte.
Egal, ob das erste, zweite oder letzte Objekt im Tree, alle werden als Knoten erkannt!
die Methode des JTrees:
gibt in diesem Fall ein true zurück, obwohl das Element wodrauf ich klicke gar kein Root ist. Ich kann mir das hier nicht erklären.
Ist dieses Problem bekannt? Was passiert wenn ich ein Objekt per Drag and Drop aus dem Tree ziehe?
Falls Code nötig ist, kann ich diesen auch Posten, aber mir geht es eher um eine Erklärung. Lösen kann ich das Problem einfach, indem ich abfrage ob
eines unsere Objekte ist, unabhängig von der Methode
.
Danke für eure Hilfe!
ich habe die Forensuche benutzt, konnte aber kein Thema finden, dass meine Problematik schildert.
Ich habe ein JTree mit DefaultMutableTreeNodes und ein TextFeld als Drop Target.
Wenn ich im Tree mit rechts Klick ein Objekt auswähle, springt bei uns ein PopMenu auf.
Wenn ich auf einen Knoten klicke, springt ein anderes Popup Menu auf.
Soweit zur Erklärung.
Wenn ich nun ein Element vom Tree ins TextField ziehe, blende ich dieses im Tree aus (über einen Filter), um dem Benutzer zu zeigen, dass er es nicht noch einmal rüber schieben kann.
nun zum Problem:
sobald ich ein Objekt rüber gezogen habe (per Drag and Drop) und klicke mit dem rechts klick auf ein Objekt im Tree springt das Popup auf, dass normal nur beim Knoten aufspringen sollte.
Egal, ob das erste, zweite oder letzte Objekt im Tree, alle werden als Knoten erkannt!
Java:
DefaultMutableTreeNode node = (DefaultMutableTreeNode)t.getLastSelectedPathComponent();
die Methode des JTrees:
Java:
node.isRoot
Ist dieses Problem bekannt? Was passiert wenn ich ein Objekt per Drag and Drop aus dem Tree ziehe?
Falls Code nötig ist, kann ich diesen auch Posten, aber mir geht es eher um eine Erklärung. Lösen kann ich das Problem einfach, indem ich abfrage ob
Java:
node.getUserObject()
Java:
node.isRoot
Danke für eure Hilfe!
Zuletzt bearbeitet: