Yo uso JTree con TreeNode que se extiende DefaultMutableTreeNode.al añadir un nuevo nodo,de los que no puedo actualizar JTree.Cualquier ayuda será apreciada

5 Comentarios

  1. 5

    Agregar el nodo sólo no es suficiente, el Árbol debe ser notificado. La forma correcta de hacer esto es dejar que el modelo de cuidado de la toma de la adición/eliminación de nodos, como se le notificará correctamente el Árbol en el camino.

    En caso de un DefaultTreeModel (que debe ser la utilizada en el JTree si usted no ha hecho su propio modelo TreeModel), usted tiene el método insertNodeInto(MutableTreeNode newChild, MutableTreeNode padre, int index), que puede utilizar.

  2. 6

    En realidad, es suficiente para volver a cargar el nodo padre. Internamente,

    public void reload()

    es el uso de

    public void reload(TreeNode node)

    pero con raíz como su parámetro, de modo que, a menos que la actualización de la raíz directa de la hoja, usted es mejor de usar un grano más fino versión.

  3. 6

    si utiliza DefaultTreeModel tratar de llamar su reload() método.

    DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
    model.reload();
    
    //or... model.reload(nodeUpdatedByYou);

    Nunca use tree.updateUI() como este es un aspecto de la operación (aunque funciona).

  4. 3

    Desde Java uso de MVC para implementar JTree componente, su operación que agregar un nodo sólo cambiar el modelo. Además, usted debe notificar a la representación del árbol de algunas modificaciones que se han llevado a cabo. Trate de usar fireTreeNodes*** métodos de su modelo de árbol de notificar a la JTree objeto de este tipo de modificación. Consulte la API de Java para más detalles. La buena suerte.

  5. 1

    Están utilizando DefaultTreeModel?

    Si es así, cuando la adición de uso insertNodeInto API para que proceda eventos se generan.

    • Evitar la duplicación de las respuestas, sin embargo, si usted no trae nada nuevo.
    • Amigo @Gnoupi – el voto estaba fuera de lugar. Nos simultáneamente respondió a la pregunta. He visto en un par de ocasiones en las que por el momento de terminar de escribir mi respuesta y el post, un par de nuevas respuestas de actualización. Traje de sí mismo.
    • respondió que media hora más tarde, diciendo básicamente lo mismo, que no es lo que yo llamaría «simultáneamente». Como ya dije, evitar la duplicación, ya que en última instancia lleva el desorden. Si una respuesta ya está diciendo lo que tienen que decir, usted no puede simplemente post tuyo, o eliminar si si ya publicado.

Dejar respuesta

Please enter your comment!
Please enter your name here