【发布时间】:2013-11-14 17:40:53
【问题描述】:
这是我的情况,我有 JMenubar 和 CardLayout。事实上,我使用 JMenu 为每张卡片移动,所以 JMenu 没有任何 JMenuItem(这有点奇怪,是吗?)。例如,我设置了一个按钮显示一条消息。问题是当我点击一个 JMenu,然后点击按钮。在我单击按钮 2 次之前,它不会立即显示消息。我认为这是关于焦点并尝试使用 button.requestFocusInWindow()。但它失败了。那么,我需要有人帮助我吗?
【问题讨论】:
-
使用来自 ChongeListener 的 JMenu.getModel(),测试是否 isArmed、isSelected 或 isPressed,但我认为必须有另一个通知程序,否则发布一个 SSCCE,简短、可运行、可编译的原因 a。毫米。将 Jmenu 聚焦在 2 号的问题。鼠标事件
-
从 MenuListener 或 MenuSelectionManager 和 Swing Action 开始
-
您误用了 JMenu:它们的意思是作为 menuItems 的容器,而不是作为独立的 menuItems(虽然层次结构有点模糊)。不要,你会混淆你的用户。相反,请考虑使用 JToolBar。