我正在用java创建一个文件夹和文件树。 Windows和OSX使用以下代码返回系统图标和名称:
new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);
是否有可能获得unix系统的图标和名称?系统命令也可以。
感谢。
答案 0 :(得分:2)
无法添加评论,因此张贴为答案:
所有这些答案都会让你在C或C ++中沾沾自喜。 Java从未真正与原生外观和风格押韵......
答案 1 :(得分:0)
我没有测试过,但这段代码适用于大多数系统:
FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);
答案 2 :(得分:0)
您始终可以获取正在使用的系统的名称,Java允许您执行本机执行并捕获此结果(命令行,因此对于unix风格,Runtime.exec(“uname -a”) ;)然后在输出流中解析结果。
话虽如此,在unix内核之上有许多不同的GUI层实现,并且不是检索文件类型和图标图像之间映射的标准方法。您可以创建特定于窗口管理器的解决方案,但需要根据正在使用的wm更改算法。