3
我们有一个Java应用程序在Mac上设置到您双击我们的自定义扩展,它会打开应用程序,然后将应用程序不会在你点击文件的工作。问题是,我不能让“打开事件”,苹果在OSX使用,所以我不能得到的文件名(和位置)做的工作。我尝试了所有可以用Google找到的东西,所以我必须做一些本质上错误的事情。抓住MacOSX上的openFileEvent(无法获取文件名)
这里是我的权利在调用启动应用程序的类。我只是创建一个新课程,然后在几行后抓取文件。我也试图把等待/通知都可以看到,如果它是一个时间问题,但它只是无限期等待,所以我认为这是我在正式拍摄时的方式有问题。任何帮助都是有用的。
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();
}
}
部署应用程序。使用[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)。 JWS允许在JNLP(JWS启动文件)中声明对文件类型的兴趣。文件名将被传递给main。这个[demo。](http://pscode.org/jws/api.html#fs)声明了'.zzz'文件类型的兴趣。这应该适用于OS X以及Windows和* nix。 – 2012-02-10 15:40:02