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 楼答案
你编辑信息了吗。plist,包括
CFBundleDocumentTypes
和UTExportedTypeDeclarations