我的问题是这个
我想在java中显示一个菜单项的弹出菜单,我可以轻松实现,
但是当我显示弹出菜单时,父菜单会清除,
我想要的行为是父菜单也应该在显示弹出菜单时可见
答案 0 :(得分:0)
我正在看两个演示,PopupMenuDemo
和GraphPanel
,我看不到任何结算。 PopupMenuDemo
显示分层子菜单,而GraphPanel
显示分层上下文菜单。你有一个例子,其中“父菜单清除。”
附录:这是我对PopupMenuDemo
的看法。这两个演示似乎都没有在菜单上调用setVisible()
。
答案 1 :(得分:0)
我可以先问“为什么”?这似乎非常罕见,因此可用性很差。在任何主流应用程序中都没有看到这一点是有充分理由的。如果你想要子菜单,请使用子菜单,如trashgod的样本。
您可以在父菜单的弹出菜单中添加PopupMenuListener
,在popupMenuWillBecomeInvisible
处中断并查看调用堆栈。在JDK6中,它来自BasicMenuItemUI#doClick
调用MenuSelectionManager#clearSelectedPath
。
因此,如果您真的有充分理由让用户感到惊讶,请提供您自己的菜单项UI。