8

http://java.sun.com/products/jfc/tsc/articles/mixing/index.htmlJPopupMenuは、 sをヘビー級にする方法をアドバイスしています。プロパティを設定するだけです。

setLightWeightPopupEnabled(false);

正常に動作しますが、ポップアップにサブメニューがあり、JMenuアイテムとして実装されている場合、それらはポップアップの重みを継承していないようです。自分自身をヘビー級にする方法がなく、Swingアイテムを入れたいので、JMenuAWTを使用することはできません。Menu

サブメニューも重量級にするにはどうすればよいですか?

4

1 に答える 1

5

Swingのバグのようです。グローバルプロパティの設定

JPopupMenu.setDefaultLightWeightPopupEnabled(false);

動作します!また、サブメニューJMenu項目は必要に応じて重くなります。明らかに、インスタンスごとの方法setLightWeightPopupEnabledも同様に機能するはずですが、そうではありません。

これについてバグ(バグID:7005406)を提出しましたが、他の誰かがこれにぶつかった場合に備えて、ここに質問を残します。したがって、解決策は、バグが修正されるまでグローバル設定を使用することです。

于 2012-10-09T13:17:23.720 に答える