ActionEvent的起源(键盘与鼠标)

时间:2015-03-09 13:45:01

标签: java swing jbutton actionevent

我有一个连续的动作,我可以通过按下JButton b1来打电话。目前我已将一个MouseListener添加到b1,如果鼠标事件的来源,我会调用StartAction()中的MousePressed()StopAction()中的MouseReleased()来控制此操作的连续性质碰巧是b1。

现在我希望能够通过键盘触发按钮。人们通常会通过ActionListeners来做到这一点。我能做到:

 if (source.equals(b1)) {
 startAction();
 stopAction();
 }

唯一的问题是,鼠标单击这样会触发ActionListener和mouseListener。我想我会尝试将动作监听器设置为:

 if(source.equals(b1) && !(e instanceof MouseEvent))
 {
 ...
 }

但是这给了我:无法转换的类型无法将MouseEvent转换为ActionEvent

所以问题是:有没有办法知道动作事件是鼠标点击还是键盘触发?我应该使用其他类型的按钮吗?

0 个答案:

没有答案