特定のファイル タイプをアプリケーションに関連付けたいので、この特定のタイプのファイルの 1 つをダブルクリックすると、アプリケーションが開きます。これは問題なく動作しますが、ダブルクリックしたファイルが引数としてプログラムに渡されません。
たとえば、アプリケーションをtxt
ファイルに関連付けて をダブルクリックtodo.txt
すると、アプリケーションが開きますが、どのtxt
ファイルをダブルクリックしたかわかりません。
私が読むことができることから、これはOS X でどのように動作するはずであり、デフォルトの動作 (Windows などでの動作) に依存する代わりに、ApplicationListener.handleOpenFile();
fromを使用する必要がありますcom.apple.eawt
。ただし、これを試みると、許可されていないと言われます。
アクセス制限: 必要なライブラリ /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar の制限により、タイプ ApplicationListener にアクセスできません
ここでの別の質問では、ある人は中国の Web サイトで解決策を見つけたと言い、もう 1 人はJavaのライセンス契約の条件によれば合法ではないと言いました。
Mac OS X Developer Libraryでそれについての言及を見つけることができず、JAR Bundlerに関するこのサイトで役立つと思われるリンクが何であれ、Apple の Developer サイトのデッド ページに移動するだけです。
私は何が欠けていますか?他のオペレーティングシステムでは些細なことですが、これを行うことはほぼ不可能でしょうか?
おそらく言及する価値があります...JAR
ファイルはOS Xのプログラムに関連付けることができないため、 JAR Bundler を使用してOS Xアプリケーションバンドルを作成しました。Java アプリケーションをネイティブ OS X アプリケーションとして扱えるようにするために特別に作成された Apple ツール。これを使用することで、最初にファイルの種類をアプリケーションに関連付けることができました。