【发布时间】:2011-10-19 14:18:08
【问题描述】:
我正在尝试构建一个特定的JMenu。
我想要一个具有JMenu 功能的JMenuItem,即当我们点击它时,该项目应该做一些事情(比如打开一个对话框)。但是JMenuItem 还应该包含一个按钮(或其他组件),当我们单击它时,应该会打开一个带有几个选项的弹出窗口。
所以,到目前为止,我有这样的东西:
这就是我点击箭头之前的样子。
我的问题是,当我按下按钮(箭头)时,子菜单实际上是打开的,但是包含该按钮的菜单项会因为失去焦点而关闭。
这是点击箭头按钮后的结果。
有没有办法解决这个问题?还是有这种行为的更好方法?
【问题讨论】:
-
所以您希望一个菜单项(菜单中的一行)具有两种不同的行为——单击文本时执行一些操作,单击按钮时打开子菜单?这不会很用户友好,最好为子菜单使用菜单组,即广告一个新的(子)
JMenu。 -
我的问题,你为什么把JButton作为JMenuItem放在JMenu中,你对基本的实现不满意
-
@Thomas:是的,这正是我想要的:单击文本时执行操作,单击按钮时打开弹出窗口。
-
我不完全相信这是您应该做的事情。话虽如此:为了尽快获得更好的帮助,请发布SSCCE。
-
JButton m = new JButton();JMenuBar abc = (JMenuBar) new JMenuBar().add(m);这样的事情怎么样?
标签: java swing jbutton jmenu jmenuitem