-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFileTreeRenderer.java
More file actions
117 lines (108 loc) · 3.7 KB
/
Copy pathFileTreeRenderer.java
File metadata and controls
117 lines (108 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import java.awt.*;
import java.io.File;
import java.net.URL;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.*;
public class FileTreeRenderer extends DefaultTreeCellRenderer {
ImageIcon icon;
public FileTreeRenderer() {
icon = new ImageIcon("img/class.gif");
}
public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {
super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus);
setTheIcon(value);
return this;
}
protected void setTheIcon(Object value) {
if (value instanceof DefaultMutableTreeNode) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
if (node.getUserObject() instanceof Node) {
Node inf = (Node) (node.getUserObject());
String title = inf.name;
assignIcon(title);
if (inf.isPackage()) {
setIcon(new ImageIcon("img/package.gif"));
}
setToolTipText(inf.getAllInfo());
}
}else if(value instanceof File){
File f = (File)value;
String title = f.getName();
if (f.isDirectory()) {
setIcon(new ImageIcon("img/package.gif"));
} else{
assignIcon(title);
}
}
}
public void assignIcon(String title) {
title = title.toLowerCase();
if (title.indexOf("class") >= 0) {
setIcon(new ImageIcon("img/class.gif"));
} else if (title.indexOf("java") >= 0) {
setIcon(new ImageIcon("img/java.gif"));
} else if (title.indexOf("jar") >= 0) {
setIcon(new ImageIcon("img/jar.gif"));
} else if (title.indexOf("properties") >= 0) {
setIcon(new ImageIcon("img/property.gif"));
} else if (title.indexOf("exe") >= 0) {
setIcon(new ImageIcon("img/exe.gif"));
} else if (title.indexOf("cs") >= 0) {
setIcon(new ImageIcon("img/cs.gif"));
} else if (
title.indexOf("sln") >= 0
|| title.indexOf("suo") >= 0
|| title.indexOf("csproj") >= 0
|| title.indexOf("resx") >= 0
|| title.indexOf("user") >= 0
|| title.indexOf("doc") >= 0
|| title.indexOf("xsl") >= 0
|| title.indexOf("ppt") >= 0) {
setIcon(new ImageIcon("img/micro.gif"));
} else if (
title.indexOf("xsd") >= 0
|| title.indexOf("xml") >= 0
|| title.indexOf("xsl") >= 0
|| title.indexOf("build") >= 0
|| title.indexOf("dtd") >= 0) {
setIcon(new ImageIcon("img/x.gif"));
} else if (title.indexOf("jpg") >= 0
|| title.indexOf("gif") >= 0
|| title.indexOf("jpg") >= 0
|| title.indexOf("jpeg") >= 0
|| title.indexOf("tiff") >= 0
|| title.indexOf("bmp") >= 0
|| title.indexOf("ico") >= 0) {
setIcon(new ImageIcon("img/image.gif"));
}else if (title.indexOf("txt") >= 0
|| title.indexOf("bat") >= 0
|| title.indexOf("html") >= 0
|| title.indexOf("log") >= 0) {
setIcon(new ImageIcon("img/txt.gif"));
}else if (title.indexOf("txt") >= 0
|| title.indexOf("php") >= 0
|| title.indexOf("c++") >= 0
|| title.indexOf("cpp") >= 0
|| title.indexOf("classpath") >= 0
|| title.indexOf("project") >= 0){
setIcon(new ImageIcon("img/code.gif"));
}
else {
setIcon(new ImageIcon("img/other.gif"));
}
if(title.indexOf("css") >= 0){
setIcon(new ImageIcon("img/code.gif"));
}
}
}