有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在MacOSX上抓取openFileEvent(无法获取文件名)

我们在Mac电脑上有一个Java应用程序,你可以双击我们的自定义扩展名,它会打开应用程序,然后应用程序就可以处理你点击的文件。问题是,我无法获取苹果在OSX中使用的“开放事件”,因此我无法获取文件名(和位置)来完成这项工作。我尝试了所有我能在谷歌上找到的东西,所以我肯定是做错了什么

这是我在应用程序开始时调用的类。我只是创建了一个新类,然后在几行之后抓取文件。我也尝试过等待/通知所有人,看看这是否是一个时间问题,但它只是无限期地等待,所以我认为这是我实际捕捉事件的方式的问题。任何帮助都是有用的

import java.io.File;
import java.util.List;

import com.apple.eawt.AppEvent.OpenFilesEvent;
import com.apple.eawt.Application;
import com.apple.eawt.OpenFilesHandler;

public class MacFiles implements OpenFilesHandler{

    private List<File> files;

    public MacFiles() {
        Application.getApplication().setOpenFileHandler(this);
    }

    public List<File> getFiles() {
        return files;
    }

    public void openFiles(OpenFilesEvent event) {
    files = event.getFiles();
    }
}

共 (1) 个答案

  1. # 1 楼答案

    你编辑信息了吗。plist,包括CFBundleDocumentTypesUTExportedTypeDeclarations