如何从Java应用程序中获取文件的图标显示?

3

从Java桌面应用程序中是否可以找到要显示的图标,也许是基于它的MIME类型?具体而言,我想要询问主机操作系统要显示的图标,以便匹配用户期望看到的内容。

2个回答

8

这里有一个例子相关代码如下:

FileSystemView view = FileSystemView.getFileSystemView();    
Icon icon = view.getSystemIcon(file);    

编辑(包括评论)官方帮助页面在这里


值得在这里链接:http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/filechooser/FileSystemView.html#getSystemIcon(java.io.File) - Andy Balaam

2
据我所知,您唯一能做的就是使用JTree的DefaultTreeCellRenderer。您可以在Java API中了解更多信息。
我会给您举几个例子,但是由于我已经有一段时间没有使用它了,所以您需要深入了解以获得您想要的内容。
UIDefaults defaults = UIManager.getDefaults( );

Icon computerIcon = defaults.getIcon( "FileView.computerIcon" );
Icon floppyIcon   = defaults.getIcon( "FileView.floppyDriveIcon" );
Icon diskIcon     = defaults.getIcon( "FileView.hardDriveIcon" );
Icon fileIcon     = defaults.getIcon( "FileView.fileIcon" );
Icon folderIcon   = defaults.getIcon( "FileView.directoryIcon" );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接