在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,包括CFBundleDocumentTypesUTExportedTypeDeclarations

关于java - 在MacOSX上获取openFileEvent(无法获取文件名),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9230094/

10-12 14:15
查看更多