0

常に再描画されるフレーム(ゲーム)でAWT PopupMenuを使用していますが、PopupMenuが表示されるたびに、親フレームがフリーズします。これを無効にする方法はありますか?

4

1 に答える 1

1

アプリケーションの残りの部分は Swing で作成されており、Swing コンポーネントと組み合わせて AWT popmenu を使用していると仮定します。

私は AWT PopMenu の問題にかなりの割合を占めてきました。アプリケーションの境界外に Popmenu を表示する必要がありますか? アプリケーション (JFrame) 内でのみ表示できるようにする必要がある場合は、他のすべてのパネル (JLayredPane を使用) の上に JComponent を配置し、そこに独自のポップ メニューを描画する方がよいでしょう。

さらに簡単なのは、Java 7 で JLayer を使用して同じ効果を得ることです (Java 7 ではなく Java 5 または 6 の場合は JXLayer を使用します)。

上記の方法は、描画を制御するため、AWT popmenu よりもはるかに強力です。たとえば、半透明にしたり、エッジを丸くしたりするのは簡単です。

于 2012-06-09T12:36:03.620 に答える