Código:
La clase NodoNuevo es algo así:private class Escuchador implements TreeSelectionListener{ public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode dmtn=(DefaultMutableTreeNode) jTree.getLastSelectedPathComponent(); if(dmtn==null){ return; } Object objeto=dmtn.getUserObject(); if(dmtn.isLeaf()){ NodoNuevo nodoNuevo=(NodoNuevo)objeto; …
Código:
Y cuando creo el DefaultMutableTreeNode del árbol lo hago de esta manera:private class NodoNuevo{ private String nombre; private Object objeto; public NodoNuevo(String nombre,Object objeto){ this.nombre=nombre; this.objeto=objeto; } ….
Código:
La aplicación me salta con el error: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to X$NodoNuevo al seleccionar en el árbol una hoja. Y me dice que el fallo está dentro de la clase Escuchador en la línea:NodoNuevo nodoNuevo=new NodoNuevo(“Cuadrupedos”,new Perro()); nodo=new DefaultMutableTreeNode(nodoNuevo.getNombre());
Código:
Por que me dice que me devuelve un String si recupera un Object con getUserObject() y lo convierto a NodoNuevo con la línea del error.NodoNuevo nodoNuevo=(NodoNuevo)objeto;
Gracias