OS X Lion または Leopard 以降の Java アプリケーションで about メニューをオーバーライドしようとしています。それ、どうやったら出来るの?これまでに読んだチュートリアルは最新のものではないようです。残念ながら、一部のクラスは Java Mac SDK に含まれておらず、他のクラスのイベントは発生しません。
前もって感謝します!
OS X Lion または Leopard 以降の Java アプリケーションで about メニューをオーバーライドしようとしています。それ、どうやったら出来るの?これまでに読んだチュートリアルは最新のものではないようです。残念ながら、一部のクラスは Java Mac SDK に含まれておらず、他のクラスのイベントは発生しません。
前もって感謝します!
http://developer.apple.com/library/mac/documentation/の基になる Apple の指示として maven を使用する場合、http: //simplericity.com/2007/10/02/1191336060000.htmlの指示が興味深いと思うかもしれません。Java/Reference/1.5.0/appledoc/api/index.htmlでは、Apple 以外の JDK でも確実に使用するためにリフレクションが必要です。
「このクラスは、Java アプリケーションが Mac OX X 固有の Apple イベントに応答できるようにします。このクラスを使用するには:
Application のインスタンスを取得します。
ApplicationListener インターフェイスを実装する 1 つ以上のオブジェクトをインスタンス化します。(便利なクラス com.apple.eawt.ApplicationAdaptor が提供されています。ApplicationListener インターフェイスでイベントをデフォルトで処理するために、そのインスタンスを作成します)。
適切なイベントのハンドラーを実装します。
ApplicationAdaptor を Application オブジェクトに登録します。"
もしかして、この部分を見逃していませんか?
編集:これは 10.6 update 3 および 10.5 update 8 で大幅に変更されたようです。ハンドラ内に通常の Java ダイアログ ボックスを表示します。
Application a = Application.getApplication();
a.setAboutHandler(new AboutHandler() {
public void handleAbout(AboutEvent arg0) {
// here
}
});