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
|
public class MyTreeCellRenderer extends DefaultTreeCellRenderer {
private Icon openIcon = null;
private Icon closeIcon = null;
private Icon leafIcon = null;
private Icon projectOpenIcon = new ImageIcon("icons/book_open.png");
private Icon projectCloseIcon = new ImageIcon("icons/book_blue.png");
private Icon folderOpenIcon = new ImageIcon("icons/folder.png");
private Icon folderCloseIcon = new ImageIcon("icons/folder_closed.png");
private Icon fileIcon = new ImageIcon("icons/document.png");
@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);
LogescoTreeNode node =
(LogescoTreeNode)value;
Object obj = node.getUserObject();
if(openIcon == null) {
openIcon = this.getOpenIcon();
if(openIcon != null) {
if(obj instanceof LProject) {
openIcon = projectOpenIcon;
this.setOpenIcon(openIcon);
openIcon = null;
} else if(obj instanceof LFolder) {
openIcon = folderOpenIcon;
this.setOpenIcon(openIcon);
openIcon = null;
}
}
}
if(closeIcon == null) {
closeIcon = this.getClosedIcon();
if(closeIcon != null) {
if(obj instanceof LProject) {
closeIcon = projectCloseIcon;
this.setClosedIcon(closeIcon);
closeIcon = null;
} else if(obj instanceof LFolder) {
closeIcon = folderCloseIcon;
this.setClosedIcon(closeIcon);
closeIcon = null;
}
}
}
this.setLeafIcon(fileIcon);
return this;
} |
Partager