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