4

OS X Lion または Leopard 以降の Java アプリケーションで about メニューをオーバーライドしようとしています。それ、どうやったら出来るの?これまでに読んだチュートリアルは最新のものではないようです。残念ながら、一部のクラスは Java Mac SDK に含まれておらず、他のクラスのイベントは発生しません。

前もって感謝します!

4

1 に答える 1

5

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
        }

    });
于 2011-07-30T16:10:40.453 に答える