Pregunta

Tengo un nodo de árbol. Quiero que se muestre una imagen al lado del nombre del nodo cuando se ve el árbol. ¿Cómo puedo hacerlo?

¿Fue útil?

Solución

  1. Crea un Imageicon a partir de tu imagen

    Icono de Imageicon = ....; (hay muchas maneras de hacer esto)

  2. Cree una instancia de defaultTreeCellRenderer

    DefaulttreeCellRenderer renderer = new DefaultTreeCellRenderer ();

  3. Establezca el campo de icono de hoja del renderizador

    renderer.setleAficon (icono);

  4. Establecer el renderizador del árbol

    Tree.setCellrenderer (renderizador);

Si no puedes resolverlo, prueba la demostración

Otros consejos

Puede usar un renderizador de hoja personalizado. Anular el método getTreeCellRendererComponent ().

Cuando representa un componente.

Use un panel y coloque el texto primero y el ícono folliwng el texto.

Y luego devuelve el componente.

public Component getTreeCellRendererComponent(JTree tree, Object value,
        boolean selected, boolean expanded, boolean leaf, int row,
        boolean hasFocus) {


    JLabel l = (JLabel)renderer.getTreeCellRendererComponent(
            tree, "", true, expanded, leaf, row, true);
    Component com = renderer.getTreeCellRendererComponent(
            tree, "", true, expanded, leaf, row, true);
    l.setIcon(YOUR_IMAGE);
    l.setText(value.toString());



        panel.removeAll();
        panel.add(this, BorderLayout.EAST);
        panel.add(j);
        return panel;



}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top