gpt4 book ai didi

java - 访问文件类型图标 Mac OSX

转载 作者:行者123 更新时间:2023-11-30 06:39:21 25 4
gpt4 key购买 nike

我正在尝试找到一种访问 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com