如何更改哪个组件正在监听事件
Posted
技术标签:
【中文标题】如何更改哪个组件正在监听事件【英文标题】:How to change which Component is listening for events 【发布时间】:2011-11-16 11:43:05 【问题描述】:我正在尝试以编程方式在按钮之间循环,因此当我向右/向左或向上/向下移动时,我需要能够更改哪个按钮正在监听事件。
我试过 button.setSelection(true);继承自 AbstractButton 但这显然不是一回事。
到目前为止,我环顾四周,并没有发现太多关于这个困境的信息,如果你愿意,请指路。
更新:我真正想做的就是以编程方式给按钮焦点。我所看到的只是方法中的“setFocusable”等;我该怎么做:
Button1.giveFocus();??
【问题讨论】:
你是什么意思?所有按钮都监听动作事件。试着问你的问题,就好像我们不知道你目前的计划一样。 组件方法requestFocusInWindow()
可能会做你想做的事。
这就是我想要的,谢谢。似乎它一直都在那里,我想它只是没有像它应该的那样跳出来,谢谢。
不客气,但是再次,在这里提出问题时,请假设我们完全不了解您的项目并且无法读心,这将为您和我们节省很多不必要的 cmets和时间。
【参考方案1】:
通常,您总是向组件添加事件侦听器,然后才开始侦听事件:)
如果您将mouse listener 及其方法视为
public void mouseEntered(MouseEvent e)
saySomething("Mouse entered", e);
public void mouseExited(MouseEvent e)
saySomething("Mouse exited", e);
祝你好运
【讨论】:
以上是关于如何更改哪个组件正在监听事件的主要内容,如果未能解决你的问题,请参考以下文章