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

时间:2009-08-13 14:07:03

标签: java desktop icons

是否可以从Java桌面应用程序中找到要为给定文件显示的图标,可能是基于它的mime类型?具体来说,我想让主机操作系统显示图标,以便它可以匹配用户期望看到的内容。

2 个答案:

答案 0 :(得分:8)

有一些例子here。相关代码将是:

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

修改(附带评论)官方帮助页面为here

答案 1 :(得分: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" );