Java Swing/awt-鼠标按下直到ActionEvent之后会发生什么?

Java 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

是否有办法查看在调用mousePressed直到触发ActionEvent之后会发生什么? 我需要创建一个UML序列图,从mousePressed(MouseEvent)开始,直到触发ActionEvent。是否有一些文档显示了这一点?我尝试在eclipse中调试一个示例,但由于某些原因,我看不到何时触发ActionEvent

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将在内部生成。