Question

J'ai un nœud d'arbre. Je veux qu'une image soit affichée à côté du nom du nœud lorsque l'arbre est affiché. Comment faire?

Était-ce utile?

La solution

  1. Créez un ImageIcon à partir de votre image

    ImageIcon icon = ....; (Il y a un certain nombre de façons de le faire)

  2. Créer une instance de DefaultTreeCellRenderer

    DefaultTrEeCellRenderer Renderer = new defaultTreeCellRenderer ();

  3. Réglez le champ d'icône des feuilles du rendu

    renderer.setleaficon (icon);

  4. Réglez le rendu de l'arbre

    Tree.SetCellRenderer (rendu);

Si vous ne pouvez pas le comprendre, essayez la démo

Autres conseils

Vous pouvez utiliser un rendu de feuille personnalisé. Remplacez la méthode getTreeCellRendererComponent ().

Lorsque vous rendez un composant.

Utilisez un panneau et mettez le texte en premier et l'icône folliwng le texte.

Puis retournez le composant.

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;



}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top