01: /*
02: * The contents of this file are subject to the Mozilla Public License
03: * Version 1.1 (the "License"); you may not use this file except in
04: * compliance with the License. You may obtain a copy of the License at
05: * http://www.mozilla.org/MPL/
06: *
07: * Software distributed under the License is distributed on an "AS IS"
08: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
09: * License for the specific language governing rights and limitations
10: * under the License.
11: *
12: * The Original Code is iSQL-Viewer, A Mutli-Platform Database Tool.
13: *
14: * The Initial Developer of the Original Code is iSQL-Viewer, A Mutli-Platform Database Tool.
15: * Portions created by Mark A. Kobold are Copyright (C) 2000-2007. All Rights Reserved.
16: *
17: * Contributor(s):
18: * Mark A. Kobold [mkobold <at> isqlviewer <dot> com].
19: *
20: * If you didn't download this code from the following link, you should check
21: * if you aren't using an obsolete version: http://www.isqlviewer.com
22: */
23: package org.isqlviewer.ui.renderer;
24:
25: import java.awt.Component;
26: import java.io.File;
27:
28: import javax.swing.DefaultListCellRenderer;
29: import javax.swing.JList;
30: import javax.swing.filechooser.FileSystemView;
31:
32: /**
33: * ListCellRenderer implemtation using native file system views.
34: * <p>
35: *
36: * @author Mark A. Kobold <mkobold at isqlviewer dot com>
37: * @version 1.0
38: */
39: public class FileListCellRenderer extends DefaultListCellRenderer {
40:
41: private static final long serialVersionUID = -8561854185868411795L;
42:
43: @Override
44: public Component getListCellRendererComponent(JList list,
45: Object value, int index, boolean isSelected,
46: boolean cellHasFocus) {
47:
48: super .getListCellRendererComponent(list, value, index,
49: isSelected, cellHasFocus);
50: File f = (File) value;
51: FileSystemView fsv = FileSystemView.getFileSystemView();
52:
53: setIcon(fsv.getSystemIcon(f));
54: setText(fsv.getSystemDisplayName(f));
55: setToolTipText(fsv.getSystemTypeDescription(f));
56: return this;
57: }
58:
59: }
|