我在不断重绘的框架上使用 AWT PopupMenu(这是一个游戏),但是每当 PopupMenu 显示时,父框架就会冻结。有没有办法禁用它?
问问题
314 次
1 回答
1
我假设应用程序的其余部分是在 Swing 中制作的,并且您将 AWT 弹出菜单与 Swing 组件结合使用。
我遇到了相当多的 AWT PopMenu 问题。您是否需要在应用程序范围之外显示 Popmenu?如果您只需要能够在您的应用程序 (JFrame) 中显示它,那么您最好将 JComponent 放在所有其他面板的顶部(使用 JLayredPane)并在那里绘制您自己的弹出菜单。
更简单的是在 Java 7 中使用 JLayer 来获得相同的效果(如果您不是在 Java 7 上而是在 Java 5 或 6 上,则使用 JXLayer)。
上述方法也比 AWT 弹出菜单更强大,因为您可以控制绘图。因此,例如使其半透明或赋予其圆形边缘变得轻而易举。
于 2012-06-09T12:36:03.620 回答