显示菜单项的弹出菜单

时间:2010-02-12 05:16:52

标签: java swing

我的问题是这个

我想在java中显示一个菜单项的弹出菜单,我可以轻松实现,

但是当我显示弹出菜单时,父菜单会清除,

我想要的行为是父菜单也应该在显示弹出菜单时可见

2 个答案:

答案 0 :(得分:0)

我正在看两个演示,PopupMenuDemoGraphPanel,我看不到任何结算。 PopupMenuDemo显示分层子菜单,而GraphPanel显示分层上下文菜单。你有一个例子,其中“父菜单清除。”

附录:这是我对PopupMenuDemo的看法。这两个演示似乎都没有在菜单上调用setVisible()

alt text http://i50.tinypic.com/2ryt2tg.png

答案 1 :(得分:0)

我可以先问“为什么”?这似乎非常罕见,因此可用性很差。在任何主流应用程序中都没有看到这一点是有充分理由的。如果你想要子菜单,请使用子菜单,如trashgod的样本。

您可以在父菜单的弹出菜单中添加PopupMenuListener,在popupMenuWillBecomeInvisible处中断并查看调用堆栈。在JDK6中,它来自BasicMenuItemUI#doClick调用MenuSelectionManager#clearSelectedPath

因此,如果您真的有充分理由让用户感到惊讶,请提供您自己的菜单项UI。