我正在尝试找到一种访问 Mac OSX 系统图标的方法。有谁知道他们在 Mac 上的默认位置?或者知道使用 Java 返回它们的方法吗?
有一种使用 Mac 版 JFileChooser 检索文件图标的方法,但该文件必须存在于文件系统中(在我的应用程序中,文件可以从服务器流式传输,因此无需在具有该扩展名的系统将无法工作)。
我可以使用 SWT 按以下方式在 Windows 上访问它们(但这在 Mac 上会爆炸)。例如下面的变量“fileType”是“.txt”、“.bmp”、“.doc”等:
Program p;
Image image;
//find the correct OS image for the file type and set
//the image to the tree item
p = Program.findProgram(fileType);
ImageData data = p.getImageData();
image = new Image(display, data);
更新:似乎没有明确的方法来导入这些。我最终在网上找到了一些通用的 Mac 图标,并将它们与我的应用程序捆绑在一起,以便在 Mac 上简单地使用 getRecourceAsStream() 直到找到更好的解决方案。
最佳答案
已经晚了,但也许其他人会搜索同样的问题(比如我)。
FileSystemView 技巧仅适用于所有平台上的 16x16 图像。在 Mac 上,您需要使用默认的 Aqua 外观才能使其正常工作。
对于 Windows,您可以使用 ShellFolder.getShellFolder(file).getIcon(true) 获取 32x32 图标。
对于 Mac,您可以使用一些 Objective-C jni 库附带的 Quaqua,它为您提供任何文件所需/可用的图标大小(16 像素、32、64、128、256、512): http://www.randelshofer.ch/quaqua/javadoc/ch/randelshofer/quaqua/osx/OSXFile.html#getIcon%28java.io.File,%20int%29
关于java - 访问文件类型图标 Mac OSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1144775/