1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

classcastexeption in JTree (XML)

    • Frage
  • Sabbi
  • 2. März 2007 um 15:58
  • Unerledigt
  • Sabbi
    3
    Sabbi
    Mitglied
    Punkte
    75
    Beiträge
    10
    • 2. März 2007 um 15:58
    • #1

    In der fettgedruckten Zeile kommt die unten genannte Fehlermeldung.
    Das Ganze ist Teil eines JTrees, der ein DOMobjekt darstellt. Es soll also der Inhalt einer XML-Datei in einem JTree angezeigt werden.

    public void valueChanged(TreeSelectionEvent e) {
    DefaultMutableTreeNode node = (DefaultMutableTreeNode)
    tree.getLastSelectedPathComponent();

    if (node == null) return;
    Object nodeInfo = node.getUserObject();
    if (node.isLeaf()) {
    DependencyInfo dependency = (DependencyInfo)nodeInfo;
    } if (DEBUG) {
    System.out.println(nodeInfo.toString());
    }
    }

    Folgende Fehlermeldung kommt:
    Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: gui.Tree$AdapterNode
    at gui.Tree.valueChanged(Tree.java:82)
    at javax.swing.JTree.fireValueChanged(Unknown Source)

  • JohnFoo
    20
    JohnFoo
    Mitglied
    Reaktionen
    61
    Punkte
    4.231
    Beiträge
    761
    • 2. März 2007 um 16:37
    • #2

    Wenn die Komponenten des JTree sicher alle DefaultMutableTreeNode Objekte sind dann könnte es daran liegen, dass kein Node selektiert worden ist. Eine Überprüfung ob es eine Selektion im Tree gibt könnte das Problem beheben.

    Code
    if (!tree.isSelectionEmpty()) {
        // hier deinen Code einfuegen
    }
  • Sabbi
    3
    Sabbi
    Mitglied
    Punkte
    75
    Beiträge
    10
    • 7. März 2007 um 21:19
    • #3

    Jetzt habe ich noch folgendes vor:
    Der JTree ist ja eine XML Datei, Zweige darin sind wiederum XML-Dateien.
    Um Änderungen und Aktivitäten des Nutzers nachzuvollziehen, will ich noch einen Zeitstempel einbaun. Man soll ihn auch im Tree sehen.

    Wie geht das? Und kann mans machen, dass diese Datums-/Zeitangabe-immer im JTree mitdrinsteht...hinter dem ausgeklappten Ast, am Namen dran(?) z.B. einfach irgendwie als Textnode, dort statt "Text" eine "Timestamp-Methode"?!

  • JohnFoo
    20
    JohnFoo
    Mitglied
    Reaktionen
    61
    Punkte
    4.231
    Beiträge
    761
    • 8. März 2007 um 01:55
    • #4

    Jeder Knoten in einem JTree enthält ein Objekt (User Object). Der Text in diesem Knoten ist der Rückgabewert der toString Methode dieses Objekts.

    Möchtest du also die Ausgabe verändern musst du die toString-Methode entsprechend anpassen. Falls du diese Methode der Klasse X nicht ändern kannst wäre eine Möglichkeit eine Klasse Y zu schreiben die von der Klasse X erbt und die toString Methode überschreibt.

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung