package com.vci.client.portal.NewNewUI.buttonmng;
|
|
import java.awt.Component;
|
|
import javax.swing.ImageIcon;
|
import javax.swing.JTree;
|
import javax.swing.tree.DefaultMutableTreeNode;
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
|
public class TabButtonTreeRenderer extends DefaultTreeCellRenderer {
|
|
/**
|
* serialVersionUID
|
*/
|
private static final long serialVersionUID = 7402228913205233469L;
|
/**
|
* 根节点图标
|
*/
|
private ImageIcon root;
|
/**
|
* 叶子节点图标
|
*/
|
private ImageIcon buttonLeaf;
|
/**
|
* 展开图标
|
*/
|
private ImageIcon buttonExpanded;
|
/**
|
* 折叠图标
|
*/
|
private ImageIcon buttonCollapsed;
|
|
/**
|
* 构造器
|
*/
|
public TabButtonTreeRenderer() {
|
super();
|
root = new ImageIcon(getClass().getResource("/com/vci/client/portal/NewNewUI/buttonmng/images/root.gif"));
|
buttonLeaf = new ImageIcon(getClass().getResource("/com/vci/client/portal/NewNewUI/buttonmng/images/leaf.gif"));
|
buttonExpanded = new ImageIcon(getClass().getResource("/com/vci/client/portal/NewNewUI/buttonmng/images/expanded.gif"));
|
buttonCollapsed = new ImageIcon(getClass().getResource("/com/vci/client/portal/NewNewUI/buttonmng/images/collapsed.gif"));
|
}
|
|
@Override
|
public Component getTreeCellRendererComponent(JTree tree, Object value,
|
boolean sel, boolean expanded, boolean leaf, int row,
|
boolean hasFocus) {
|
|
Component c = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf,
|
row, hasFocus);
|
|
//需要在设置父方法后重新设置图标样式
|
try {
|
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
|
Object userObject = node.getUserObject();
|
if(userObject instanceof String) {
|
//根节点
|
setIcon(this.root);
|
} else if(userObject instanceof ClientPLTabButton) {
|
//按钮节点
|
if(leaf) {
|
setIcon(this.buttonLeaf);
|
} else if(expanded) {
|
setIcon(this.buttonExpanded);
|
} else {
|
setIcon(this.buttonCollapsed);
|
}
|
} else {
|
//...
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return c;
|
}
|
}
|