0

Max OS X 10.7.5 で Java アプリケーションを実行し、Java 7 を使用しています。アプリケーションには独自のメニュー バーがあります。1 つのメニュー項目をクリックすると、ダイアログが表示されます。問題は、ダイアログを呼び出すと、メニュー バー全体が消え、ダイアログを閉じるとメニュー バーが表示されることです。この問題は Java 6 では見られず、Java 7 でのみ見られます。

助言がありますか?

4

2 に答える 2

2

表示されるメニュー バーは、現在アクティブなウィンドウに対応しています。ダイアログには独自のメニュー バーがないため、アクティブ ウィンドウの場合は何も表示されません。次に、ダイアログが閉じてアプリケーション ウィンドウがアクティブになると、そのメニュー バーが再び表示されます。

1 つの解決策は、 を使用することsetDefaultMenuBar()です。次の例を参照してください。

Application app = Application.getApplication();
app.setDefaultMenuBar(myJMenuBar);

残念ながら、これは現在 Java 7 では実装されていません。この機能のバグ レポートは次のとおりです: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007267

于 2013-05-07T18:50:37.330 に答える
0

これは、誰かが同じことをしている例と、コード牧場からの応答の切り抜きです。

「Mac では通常、ルック アンド フィールを設定したくありません。Mac は独自のメニューバーを使用するためです。そのため、Mac 実装のコードではルック アンド フィールを設定しません。ルック アンド フィールを何も設定しないだけです。コードを感じてください...それから、うまく動作することを願っています.なぜなら、私がMacでswingアプリケーションで直面したのと同じ問題だからです....」

--ashok---

于 2013-05-07T15:43:23.630 に答える