私はすべてのプラットフォーム用に設計された Java アプリケーションを作成していますが、具体的には、OS X の外観と統合に取り組んでいます (MacBook Pro で NetBeans を使用しています)。アプリケーションのメニュー、つまりアプリケーションにちなんで名付けられた太字のメニューにアクセスしたいと思います。About 項目と Quit 項目のリスナーを登録し、Preferences 項目を表示したいと考えています。私自身のアイテムをさらにいくつか追加してもかまいません。
それで、どうすればいいですか?以前の投稿で OSXAdapter に言及しているのを見たことがありますが、Apple の天才たちは、すべてのリンクがメイン ページにリダイレクトされ、すべての検索が無駄だったため、ライブラリから削除する (またはあいまいに名前を変更する) ことにしました。MacOSAppAdapterクラスも見たことがありますが、使い方がわかりません。すべてのインポートと新しいクラスと階層は少し混乱します。
編集:
これは、About、Preferences、および Quit 項目に結び付けるために私が行ったことです。
拡張する新しいクラス MacOSXAboutHandler を作成しました。
com.apple.eawt.Application
そのコンストラクターは単に呼び出します
setAboutHandler(AboutHandler aH)
拡張する独自のリスナーを提供します
AboutHandler
私のメインクラスでは、Mac で実行しているかどうかを判断します。
System.getProperty("os.name").contains("mac")
これが正しい場合、MacOSXAboutHandler の新しいインスタンスを作成するだけです。コンストラクターはハンドラーを追加し、アプリケーションが実行される (または NetBeans 内でテストされる) ときはいつでも、アプリケーションの太字のメニューの About... 項目をクリックすると、AboutHandler で指定したコードが実行されます。
プリファレンスと終了についても同じことが行われ、"about" の出現を適切なアクションに置き換えるだけです。これらのハンドラーはすべて、他の Java リスナーと同じように作成されます。