⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shortcutfileview.java

📁 《SWING HACKS》源码 作者: Joshua Marinacci,Chris Adamson 著 徐晔 译 出版: 2007年2月
💻 JAVA
字号:
import java.io.File;import java.awt.Graphics;import java.awt.Image;import java.awt.image.BufferedImage;import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JFileChooser;import javax.swing.UIManager;import javax.swing.filechooser.FileView;import javax.swing.plaf.ComponentUI;import javax.swing.plaf.FileChooserUI;public class ShortcutFileView extends FileView {    public boolean isDirLink(File f) {        try {            if(f.getName().toLowerCase().endsWith(".lnk")) {                LnkParser parser = new LnkParser(f);                if(parser.isDirectory()) {                    return true;                }            }        } catch (Exception ex) {            System.out.println("exception: " + ex.getMessage());            ex.printStackTrace();        }        return false;    }        public Boolean isTraversable(File f) {        if(isDirLink(f)) {            return new Boolean(true);        }        return null;    }        public Icon getIcon(File f) {        if(isDirLink(f)) {            /* all of this nonsense is to get to the             default file view */            System.out.println("get icon for: " + f);            JFileChooser chooser = new JFileChooser();            ComponentUI ui = UIManager.getUI(chooser);            System.out.println("got : " + ui);            FileChooserUI fcui = (FileChooserUI)ui;            fcui.installUI(chooser);            FileView def = fcui.getFileView(chooser);                        // get the standard icon for a folder            File tmp = new File("C:\\windows");            Icon folder = def.getIcon(tmp);            int w = folder.getIconWidth();            int h = folder.getIconHeight();                        // create a buffered image the same size as the icon            Image img = new BufferedImage(w,h,BufferedImage.TYPE_4BYTE_ABGR);            Graphics g = img.getGraphics();                        // draw the normal icon            folder.paintIcon(chooser,g,0,0);            // draw the shortcut image on top of the icon            Image shortcut = new ImageIcon("shortcut.png").getImage();            g.drawImage(shortcut,0,0,null);            g.dispose();            return new ImageIcon(img);        }         return super.getIcon(f);    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -