Java Swing/awt-鼠标按下直到ActionEvent之后会发生什么?
是否有办法查看在调用mousePressed直到触发ActionEvent之后会发生什么? 我需要创建一个UML序列图,从mousePressed(MouseEvent)开始,直到触发ActionEvent。是否有一些文档显示了这一点?我尝试在eclipse中调试一个示例,但由于某些原因,我看不到何时触发ActionEventJava Swing/awt-鼠标按下直到ActionEvent之后会发生什么?,java,swing,actionevent,Java,Swing,Actionevent,是否有办法查看在调用mousePressed直到触发ActionEvent之后会发生什么? 我需要创建一个UML序列图,从mousePressed(MouseEvent)开始,直到触发ActionEvent。是否有一些文档显示了这一点?我尝试在eclipse中调试一个示例,但由于某些原因,我看不到何时触发ActionEvent jbutton.addMouseListener(new MouseListener() { **THIS IS CALLED FIRST** @Over
jbutton.addMouseListener(new MouseListener() {
**THIS IS CALLED FIRST**
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("pressed");
}
});
jbutton.addActionListener(new ActionListener() {
**AFTER SOME TIME THIS IS CALLED**
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("action");
}
});
谢谢是的,有文档显示了这一点: 从该页: 按下按钮顶部的鼠标可使模型处于待命和按下状态。只要鼠标保持向下,模型将保持按下状态,即使鼠标移到按钮外。相反,仅当鼠标在按钮边界内保持按下时,模型才处于待命状态(它可以移入或移出按钮,但模型仅在按钮内所花费的部分时间内处于待命状态)。当模型处于待命状态时释放鼠标时,会触发一个按钮,并触发一个
ActionEvent
,这意味着在鼠标先前按下该按钮(但尚未释放)后将鼠标从按钮上方释放。释放鼠标后,模型将变得手无寸铁且未按下
正如@dbrown93所指出的,应用程序代码没有理由向JButton添加鼠标侦听器。记住,还有其他激活JButton的方法,比如使用键盘;不需要鼠标活动。是的,有文档显示了这一点: 从该页: 按下按钮顶部的鼠标可使模型处于待命和按下状态。只要鼠标保持向下,模型将保持按下状态,即使鼠标移到按钮外。相反,仅当鼠标在按钮边界内保持按下时,模型才处于待命状态(它可以移入或移出按钮,但模型仅在按钮内所花费的部分时间内处于待命状态)。当模型处于待命状态时释放鼠标时,会触发一个按钮,并触发一个
ActionEvent
,这意味着在鼠标先前按下该按钮(但尚未释放)后将鼠标从按钮上方释放。释放鼠标后,模型将变得手无寸铁且未按下
正如@dbrown93所指出的,应用程序代码没有理由向JButton添加鼠标侦听器。记住,还有其他激活JButton的方法,比如使用键盘;不需要鼠标活动。为什么要在按钮上使用鼠标侦听器?假设两个侦听器都触发了各自的方法,jbutton将遍历其侦听器集合并调用各自的方法。当为同一组件生成mousePressed和mouseerelease事件时,将在内部生成ActionEvent。为什么在jbutton上使用mouselistener?假设两个侦听器都触发了各自的方法,jbutton将遍历其侦听器集合并调用各自的方法。当为同一组件生成mousePressed和mouseprelease事件时,ActionEvent将在内部生成。