在Mac上,我们有一个Java应用程序设置为您双击自定义扩展名的位置,它将打开该应用程序,然后该应用程序可以在您单击的文件上运行。问题是我无法获得苹果在OSX中使用的“打开事件”,因此无法获得文件名(和位置)来进行工作。我尝试使用Google可以找到的所有内容,因此我必须做一些天生的错误。
这是我在应用程序启动时立即调用的类。我只是上了一堂新课,然后在几行之后抓取文件。我还尝试过等待/通知所有人以查看是否是时间问题,但是它会无限期地等待,因此我认为这实际上是我捕获事件的方式的问题。任何帮助都将是有用的。
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();
}
}
最佳答案
您是否已编辑Info.plist,包括CFBundleDocumentTypes
和UTExportedTypeDeclarations
?
关于java - 在MacOSX上获取openFileEvent(无法获取文件名),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9230094/