📄 enhancedtreecellrenderer.java
字号:
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.text.Utilities;
import java.lang.String;
import java.awt.Component;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.UIManager;
public class EnhancedTreeCellRenderer extends DefaultTreeCellRenderer{
private Icon root,host,drive,leaf1,open1,close1,txt,exe,sys,html,ini,zip,music,photo;
private Icon mp3,rm;
private Icon han;
private JTree tree;
public EnhancedTreeCellRenderer() {
//设置图标
String path="./icons/";
root = new ImageIcon(path+"manager.gif");
host = new ImageIcon(path+"host.gif");
drive = new ImageIcon(path+"drive.gif");
leaf1 = new ImageIcon(path+"file.gif");
open1 = new ImageIcon(path+"open.gif");
close1= new ImageIcon(path+"close.gif");
//10-20
txt = new ImageIcon(path+"txt.gif");
exe = new ImageIcon(path+"exe.gif");
sys = new ImageIcon(path+"sys.gif");
html = new ImageIcon(path+"html.gif");
ini = new ImageIcon(path+"ini.gif");
zip = new ImageIcon(path+"zip.gif");
han = new ImageIcon(path+"love.gif");
music= new ImageIcon(path+"music.gif");
photo= new ImageIcon(path+"photo.gif");
mp3 = new ImageIcon(path+"mp3.gif");
rm = new ImageIcon(path+"rm.gif");
}
public Component getTreeCellRendererComponent(JTree tree,Object value,boolean select,boolean expanded,boolean leaf,int row,boolean hasFocus) {
super.getTreeCellRendererComponent(tree,value,select,expanded,leaf,row,hasFocus);
DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
NodeInformation nodeInfo = new NodeInformation(node.getUserObject());
int type =nodeInfo.getNodeType();
switch(type) {
case 0 :setIcon(root);
break;
case 1 :setIcon(host);
break;
case 2 :setIcon(drive);
break;
case 5 :setIcon(leaf1);
break;
case 6 :setIcon(open1);
break;
case 7 :setIcon(close1);
break;
case 10 :setIcon(txt);
break;
case 11:setIcon(exe);
break;
case 12:setIcon(sys);
break;
case 13:setIcon(html);
break;
case 14:setIcon(ini);
break;
case 15:setIcon(zip);
break;
case 16:setIcon(music);
break;
case 17:setIcon(photo);
break;
case 18:setIcon(mp3);
break;
case 19:setIcon(rm);
break;
case 521:setIcon(han);
break;
default :
break;
}
if(type==7||type==-1)
if (!tree.isEnabled())
{
setEnabled(false);
if (type==-1&&leaf)
{
setDisabledIcon(leaf1);
}
else if (expanded)
{
setDisabledIcon(open1);
}
else
{
setDisabledIcon(close1);
}
}
else
{
setEnabled(true);
if (type==-1&&leaf)
{
setIcon(leaf1);
}
else if (expanded)
{
setIcon(open1);
}
else
{
setIcon(close1);
}
}
return this;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -