package net.sourceforge.squirrel_sql.client.gui.recentfiles; import net.sourceforge.squirrel_sql.client.IApplication; import net.sourceforge.squirrel_sql.client.resources.SquirrelResources; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; import java.awt.*; import java.io.File; public class RecentFilesTreeCellRenderer extends DefaultTreeCellRenderer { private IApplication _app; public RecentFilesTreeCellRenderer(IApplication app) { _app = app; } @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { JLabel treeCellRendererComponent = (JLabel) super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode) value; if(false == dmtn.getUserObject() instanceof File) { return treeCellRendererComponent; } File file = (File) dmtn.getUserObject(); if(file.isDirectory()) { treeCellRendererComponent.setIcon(_app.getResources().getIcon(SquirrelResources.IImageNames.DIR_GIF)); } else { treeCellRendererComponent.setIcon(_app.getResources().getIcon(SquirrelResources.IImageNames.FILE_GIF)); } return treeCellRendererComponent; } }