J'ai un nœud Tree. Je veux qu'une image soit affichée à côté du nom du noeud lorsque l'arbre est vu. Comment je vais?Association d'une image avec un objet nœud d'arbre Java
1
A
Répondre
1
créer un ImageIcon de votre image
icône ImageIcon = ....; (there are a number of ways to do this)
créer une instance de DefaultTreeCellRenderer
DefaultTreeCellRenderer rendu = new DefaultTreeCellRenderer();
définir le champ de l'icône de la feuille du rendu
renderer.setLeafIcon (icône);
mis le moteur de rendu
de l'arbre tree.setCellRenderer (équarrissage);
0
Vous pouvez utiliser un moteur de rendu de feuille personnalisé. Substituez la méthode getTreeCEllRendererComponent().
Lorsque vous restituez un composant.
Utilisez un panneau et placez le texte en premier et l'icône en regard du 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;
}
à ajouter à la réponse ci-dessus: Si vous cherchez à définir une image sur le côté droit du texte (essentiellement, pas d'icône), vous avez encore besoin de créer votre propre instance de DefaultTreeCellRenderer pour retourner un composant qui comprend l'image – Thimmayya