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