菜单上的 java 动作监听器,而不是菜单项上的
我需要启蒙。
如何添加动作actionListener事件绑定到菜单,而不绑定到菜单ITEM 这是演示代码,可以工作(在菜单项上)..
menuFileItem.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("It works");
}
}
);
但是当我尝试相同的操作时,但仅在菜单本身上它不起作用!
menuFile.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("Plz work... :( ");
}
}
);
是否可以向菜单添加监听器?我教听众可以添加到一切。
I need enlightenment.
how to add action actionListener event bind to the menu, and not bind to the menu ITEM
here is the demo code, that works(on menuITEM)..
menuFileItem.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("It works");
}
}
);
but when i try the same , but just on the MENU itself it doesn't work!
menuFile.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("Plz work... :( ");
}
}
);
is it possible to add listener to menu? i taught listener could be added to everything.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您实例化了 JMenu 类来构建菜单对象,请尝试使用 addMenuListener() 方法。
If you instantiated JMenu class to bulid a menu object, try the method addMenuListener().
根据之前的答案,我在解决方案中添加了一个额外的关键侦听器。
这是一个便利函数:
based on the previous answers, I added an additional key listener to the solution.
Here is a convenience function:
您可以将
ActionListener
添加到JMenu
,因为此方法继承自AbstractButton
。 (JMenu 文档)但是,它是不打算以这种方式使用: JMenu 忽略动作事件。您应该使用
MenuEvent
和MenuListener
来代替。You can add an
ActionListener
to aJMenu
as this method is inherited fromAbstractButton
. (JMenu Documentation)But, it is not intended to be used this way: JMenu ignores ActionEvent. You should use
MenuEvent
andMenuListener
instead.我使用这个
addMouseListener()
,因为当您单击JMenu
时,它会将其标记为蓝色并在之后执行该事件。我想这就是你想要的效果。
在这里,它使用以下代码工作:
我声明:
I use this
addMouseListener()
, because when you click over aJMenu
, it marks it blue and executes the event just after.I think it's that effect that you want.
Here it works using this code:
I declare: