JTree Problem.

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich habe ein problem beim löschen von nodes bei meinem JTree.

Code:
 treeModel = new DefaultTreeModel(rootNode);
        tree = new JTree(treeModel);
        
        tree.getSelectionModel().setSelectionMode
                (TreeSelectionModel.SINGLE_TREE_SELECTION);
        tree.setShowsRootHandles(true);
        tree.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent e) {
            if (e.getClickCount() == 2) 
            {
                ....

            }
            if(e.getButton() == MouseEvent.BUTTON3)
            {
               ....
            }});
        
        tree.addMouseListener(new MouseAdapter() {
            public void mouseOver(MouseEvent e) {
            }
        }
        );
        
            DefaultTreeCellRenderer rendererData = new DefaultTreeCellRenderer();
            tree.setCellRenderer(rendererData);
            tree.setCellRenderer(new MyRenderer2());
    }

So mache ich mein Jtree und so fülle ich ihn:

Code:
private void fileSystemTree(File currentFile,DefaultMutableTreeNode currentNode )
    { 
        File[] files = currentFile.listFiles();
        if (files != null)
        { //Have the rights to list Files in this folder
            for (int i = 0; i < files.length; i++)
            {
                if (files[i].isDirectory())
                {// File is a Folder
                    DefaultMutableTreeNode folder = new DefaultMutableTreeNode( files[i].getName() );
                    currentNode.add(folder);
                    fileSystemTree(files[i], folder);
                }
                else
                {
                    if(files[i].getName().contains(".txt"))
                    {  
                        DefaultMutableTreeNode file = new DefaultMutableTreeNode( files[i].getName() );
                        currentNode.add(file);
                    }
                    else
                    {
                       // do nothing atm
                    }
                }
            }//for (int i = 0; i < files.length; i++)
            if(currentFile != rootFile)
            {
                currentFile = currentFile.getParentFile();
            }
            else
            {
               // do anything
            }
        }//if (files != null)
    }//fileSystemTree(File currentFile,DefaultMutableTreeNode currentNode )

Dann habe ich noch eine Löschmethode

Code:
 public void delCurrentNode()
    {
        TreePath currentSelection = tree.getSelectionPath();
        if (currentSelection != null) 
        {
            DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode)
                         (currentSelection.getLastPathComponent());
            MutableTreeNode parent = (MutableTreeNode)(currentNode.getParent());
            if (parent != null) 
            {
                TreeNode[] path = currentNode.getPath();
                String endPath = "C:\\DJTool" + (String)path[0].toString();
                for(int i = 1; i < path.length; i++)
                {
                    endPath = endPath + "\\" + path[i].toString();
                    File file = new File(endPath);
                    if(!file.isDirectory())
                    {
                        treeModel.removeNodeFromParent(currentNode);
                        //file.delete();
                    }
                    else
                    {
                        //TODO was passiert wenn zu löschende datei ein ordner ist?
                        System.out.println("Lösche ordner");
                    }
                }
                return;
            }
        }
    }

Jedoch wenn ich löschen will bekomme ich immer


Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: node does not have a parent.

Was mache ich falsch?!
 

AlArenal

Top Contributor
Da du uns nicht sagst zu welcher Zeile der Fehler gehört ganz allgemein: Du greifst irgendwo bei einem Node auf einen Parent zu, der keine Parent hat. Wie die Fehlermeldung schon sagt...
 
G

Guest

Gast
Ah sry.

Der fehler zeigt auf


treeModel.removeNodeFromParent(currentNode);
 
G

Guest

Gast
komische an dieser Sahce ist wenn ich vorher currentNode.getPartent machen, dann bekomme ich eine ParentNode...
 

Murray

Top Contributor
Ohne den Code jetzt vollständig verstehen zu wollen: passiert das treeModel.removeNodeFromParent(currentNode); nicht in einer Schleife und damit u.U. mehrfach?
 
G

Guest

Gast
ARG....

Ja das wars ^^. Ich hatte es ausversehen noch in der for schleife drin ARg

THX habs gelöst!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Problem: JTree mit integrierten JCheckboxen Java Basics - Anfänger-Themen 5
S JTree, Problem mit View Update Java Basics - Anfänger-Themen 2
R Problem mit JTree und JTable Java Basics - Anfänger-Themen 16
G Problem mit Refresh von JTree Java Basics - Anfänger-Themen 11
G JTree Explorer Problem mit listRoots() Java Basics - Anfänger-Themen 9
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
F Jtree kürzt Namen auf ... Java Basics - Anfänger-Themen 4
H Collections JTree remove zeigt keinen Effekt! Java Basics - Anfänger-Themen 8
H Best Practice Wo wird der rootNode eines JTree gespeichert... Java Basics - Anfänger-Themen 0
H Erste Schritte JTree: Instanzen einer Klasse speichern oder Namen/Strings... Java Basics - Anfänger-Themen 4
R JTree bewegen Java Basics - Anfänger-Themen 6
I JTree, Root-Name ändern Java Basics - Anfänger-Themen 4
N Dynamisch JTree erstellen Java Basics - Anfänger-Themen 3
G bestimmte dateiendungen in jtree rausfiltern Java Basics - Anfänger-Themen 7
P JTree aus txt Java Basics - Anfänger-Themen 8
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
JStickman JTree, JScrollPane, Liste mit graphischer Suchleiste - Dateimanager Java Basics - Anfänger-Themen 10
M JTree + JTab Java Basics - Anfänger-Themen 3
T JTree füllen Java Basics - Anfänger-Themen 3
B JTree knoten wird nicht übernommen Java Basics - Anfänger-Themen 4
S JTree Hilfe Java Basics - Anfänger-Themen 6
P Jtree MouseListener und NoCollapse Java Basics - Anfänger-Themen 2
M JTree ohne root anzeigen Java Basics - Anfänger-Themen 5
F JTree mit JSpinner Java Basics - Anfänger-Themen 2
I Liste von Dateien anzeigen/JTree Java Basics - Anfänger-Themen 4
G Zugriff auf JTree-Objekt Java Basics - Anfänger-Themen 2
B OOP Jtree aus TreeMap<String, String[]> erstellen? Java Basics - Anfänger-Themen 6
D JTree ich dreh durch :D Java Basics - Anfänger-Themen 2
T JTree root setzten Java Basics - Anfänger-Themen 13
G xml Datei in JTree Java Basics - Anfänger-Themen 2
A JTree drucken Java Basics - Anfänger-Themen 2
M JTree und ein Button mit ActionListener Java Basics - Anfänger-Themen 3
G Verständnisproblem --> JTree Java Basics - Anfänger-Themen 6
G Filesystem in JTree anzeigen Java Basics - Anfänger-Themen 4
A Jtree Aufbau Java Basics - Anfänger-Themen 5
G JTree ilstener Java Basics - Anfänger-Themen 3
G JTree Java Basics - Anfänger-Themen 2
G Erstellten JTree aus einer XML-Datei akktualisieren Java Basics - Anfänger-Themen 11
S jTree initialisierung Java Basics - Anfänger-Themen 4
F Doppelklick-Event auf JTree Java Basics - Anfänger-Themen 5
J ArrayListen mit Name und Vater an JTree übergeben Java Basics - Anfänger-Themen 3
G aussehen vom jtree wiederherstellen Java Basics - Anfänger-Themen 3
P JTree mit mehreren Wurzeln Java Basics - Anfänger-Themen 2
G Umbenennen im JTree Java Basics - Anfänger-Themen 5
G rechter Mausklick im JTree Java Basics - Anfänger-Themen 2
G Bilder im jTree Java Basics - Anfänger-Themen 3
G jTree Pfad merken Java Basics - Anfänger-Themen 2
S JTree aktualisieren Java Basics - Anfänger-Themen 4
M JTree aktualisieren Java Basics - Anfänger-Themen 3
E JTree - Element suchen Java Basics - Anfänger-Themen 5
G JTree Java Basics - Anfänger-Themen 2
E JTree - Verzeichnisbaum Java Basics - Anfänger-Themen 3
G JTree Frage Java Basics - Anfänger-Themen 5
G Ebene von JTree ermitteln? Java Basics - Anfänger-Themen 6
G Icons für JTree skalieren? Java Basics - Anfänger-Themen 3
G Standard JTree ausblenden? Java Basics - Anfänger-Themen 5
B JTree mit Verzeichnissen füllen Java Basics - Anfänger-Themen 17
G Object vor reload von JTree merken und danach wieder setzen? Java Basics - Anfänger-Themen 5
P Wert aus JTree in ComboBox setzen? Java Basics - Anfänger-Themen 2
lomtas Scrollbalken für JTree Java Basics - Anfänger-Themen 3
lomtas JTree Struktur im Nachhinein ändern Java Basics - Anfänger-Themen 2
K JTree verlinken Java Basics - Anfänger-Themen 3
T ArrayList mit Dateien in die richtigen Ordner eines JTree Java Basics - Anfänger-Themen 16
K JTree aus DB rekursiv füllen Java Basics - Anfänger-Themen 12
M Dateisystem in Jtree - Ordnericon darstellen Java Basics - Anfänger-Themen 4
G JTree vollständigen pfad anzeigen Java Basics - Anfänger-Themen 11
R JTree aus einer ArrayList Java Basics - Anfänger-Themen 9
J JTree Bilder Java Basics - Anfänger-Themen 2
G JTree.TreeListener Java Basics - Anfänger-Themen 12
S JTree valueChanged() Ausgabe leider immer mit Pfadangabe! Java Basics - Anfänger-Themen 4
S JTree aktualisieren bzw. komplett neu aufbauen Java Basics - Anfänger-Themen 6
G Scrollen im JTree Java Basics - Anfänger-Themen 17
G Hintergrundsfarbe für JTree Java Basics - Anfänger-Themen 15
F JTree-Knoten (DefaultMutableTreeNode) formatieren ? Java Basics - Anfänger-Themen 3
Y JTree: ein Knoten als Objekt Java Basics - Anfänger-Themen 2
J JTable / JTree: Unsichtbare Elemente Java Basics - Anfänger-Themen 4
V Jtree: Alle Verzeichnisse und Ordner anzeigen, aber wie? Java Basics - Anfänger-Themen 2
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben