Ассоциация изображения с объектом узла Java Tree
Вопрос
У меня есть узел дерева. Я хочу, чтобы изображение было отображено рядом с именем узла, когда дерево просматривается. Как мне пойти?
Решение
Создайте Imageicon из вашего изображения
ImageICon Icon = ....; (Есть несколько способов сделать это)
Создайте экземпляр DefaultTreecellrenderer
DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer ();
Установите поле рендерера
renderer.setleAficon (значок);
Установите рендеринг дерева
Tree.SetCellrenderer (рендерер);
Другие советы
Вы можете использовать пользовательский рендеринг листьев. Переопределить метод getTreeCellRendererComponent ().
Когда вы видите компонент.
Используйте панель и сначала поместите текст, а значок - текст.
А затем верните компонент.
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;
}
Не связан с StackOverflow