Association d'une image avec un objet de nœud d'arbre Java
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?
La solution
Créez un ImageIcon à partir de votre image
ImageIcon icon = ....; (Il y a un certain nombre de façons de le faire)
Créer une instance de DefaultTreeCellRenderer
DefaultTrEeCellRenderer Renderer = new defaultTreeCellRenderer ();
Réglez le champ d'icône des feuilles du rendu
renderer.setleaficon (icon);
Réglez le rendu de l'arbre
Tree.SetCellRenderer (rendu);
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;
}