PopupMenu冻结父框架

时间:2012-06-09 12:15:00

标签: java awt frame repaint popupmenu

我在一个不断重新渲染的帧上使用AWT PopupMenu(这是一个游戏),但每当PopupMenu显示时,父帧就会冻结。有没有办法禁用它?

1 个答案:

答案 0 :(得分:1)

我假设应用程序的其余部分是在Swing中制作的,并且您正在将AWT popmenu与Swing组件结合使用。

我已经公平地分享了AWT PopMenu问题。您是否需要在应用程序范围之外显示Popmenu?如果您只需要能够在应用程序(JFrame)中显示它,那么只需将JComponent放在所有其他面板(使用JLayredPane)之上并在那里绘制自己的弹出菜单就可以了。

更简单的是在Java 7中使用JLayer获得相同的效果(如果不是Java 7,则使用JXLayer,但是使用Java 5或6)。

上面的方法也比AWT popmenu更强大,因为你可以控制绘图。因此,例如将其设置为半透明或赋予其圆边变得轻而易举。