少しネクロポストですが、私がいつも使っているコードです。ただし、これは複雑であり、リフレクションを使用して、Mac 以外のシステムでエラーがスローされるのを回避します。
アプリの初期化中または静的コード ブロックとして:
if (System.getProperty("os.name").contains("Mac")) {
try {
Object app = Class.forName("com.apple.eawt.Application")
.getMethod("getApplication")
.invoke(null);
Object al = Proxy.newProxyInstance(
Class.forName("com.apple.eawt.AboutHandler").getClassLoader(),
new Class[]{Class.forName("com.apple.eawt.AboutHandler")},
new AboutListener()
);
app.getClass()
.getMethod("setAboutHandler", Class.forName("com.apple.eawt.AboutHandler"))
.invoke(app, al);
}
catch (Exception e) {
//fail quietly
}
}
ソース ファイルの最後の中かっこの後にある
public class AboutListener implements InvocationHandler {
public Object invoke(Object proxy, Method method, Object[] args) {
//Show About Dialog
return null;
}
}
完全なアプリケーションを Java でリリースする場合、このような小さな工夫がうまくいきます。これはほとんどコピー アンド ペーストが可能ですが、about ボックスを表示するには 1 ~ 2 行追加する必要があります。本当にひどくテストする必要がある場合は、Web スタート、ドロップボックスの公開リンク、および近所の Apple Store を使用してください。