forked from FR-Global/plugin-event-manager
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
52 lines
1.4 KiB
4 years ago
|
package com.fr.plugin.event.manager.ui.tree;
|
||
|
|
||
|
import com.fr.plugin.event.manager.data.MyTree;
|
||
|
|
||
|
import javax.swing.BorderFactory;
|
||
|
import javax.swing.Icon;
|
||
|
import javax.swing.JTree;
|
||
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
||
|
import java.awt.Color;
|
||
|
import java.awt.Component;
|
||
|
|
||
|
/**
|
||
|
* @author Joe
|
||
|
* Created by Joe on 12/14/2020
|
||
|
*/
|
||
|
public class MyComponentCellRenderer extends DefaultTreeCellRenderer {
|
||
|
public MyComponentCellRenderer() {
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
|
||
|
boolean leaf, int row, boolean hasFocus) {
|
||
|
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
|
||
|
if (value instanceof MyTree) {
|
||
|
String name = ((MyTree) value).getData().getNodeName();
|
||
|
setText(name);
|
||
|
Icon icon = ((MyTree) value).getData().getIcon();
|
||
|
if (icon != null) {
|
||
|
setIcon(icon);
|
||
|
}
|
||
|
}
|
||
|
this.setBorder(BorderFactory.createEmptyBorder(1, 0, 1, 0));
|
||
|
this.setBackgroundNonSelectionColor(new Color(255, 255, 255));
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Icon getClosedIcon() {
|
||
|
return getIcon();
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Icon getLeafIcon() {
|
||
|
return getIcon();
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Icon getOpenIcon() {
|
||
|
return getIcon();
|
||
|
}
|
||
|
}
|