Access文件类型图标的Mac OSX(Access file type icons Mac OS

2019-09-19 09:28发布

我试图找到一种方法来访问的Mac OSX系统图标。 有谁知道在Mac电脑上的默认位置? 方式或者知道使用Java来让他们回来?

目前使用的JFileChooser的Mac检索文件图标的方法,但是该文件到文件系统中(在我的应用程序文件可以从这么短,在系统上创建一个虚拟文件的服务器流该扩展它不会工作)。

我可以访问他们的Windows使用SWT(在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图标,并与我的应用程序捆绑他们简单地使用getRecourceAsStream()在Mac上时,直到一个更好的解决方案中。

Answer 1:

这是晚了,但也许别人会寻找同样的问题(像我一样)。

该绝招的FileSystemView仅适用于所有平台上的16×16的图像。 在Mac上,你需要使用默认的Aqua外观,使其工作。

对于Windows,您可以使用ShellFolder.getShellFolder(文件).getIcon(真),以获得一个32×32的图标。

对于Mac,可以使用Quaqua附带一些目标C JNI库,让您所希望的/可用的图标大小的任何文件(16像素,32,64,128,256,512): HTTP://www.randelshofer。 CH / quaqua /的Javadoc / CH / randelshofer / quaqua / OSX / OSXFile.html#%调用getIcon 28java.io.File,%20int%29



Answer 2:

在OS X上,一个文件查看作品比一个更好的FileSystemView 。 我使用的是下面让图标文件:

final JFileChooser fc = new JFileChooser();
//return fc.getFileView().getIcon(f); // will throw a  null pointer
Icon result = fc.getUI().getFileView(fc).getIcon(f);


Answer 3:

我认为的FileSystemView和它的朋友提供了获取文件图标的方式。



文章来源: Access file type icons Mac OSX