Java 无论如何,要控制命令事件,请在Swing中启动

Java 无论如何,要控制命令事件,请在Swing中启动,java,events,swing,Java,Events,Swing,我是否可以控制Swing应用程序中触发事件的顺序? 例如,我有一个组件的MouseListener和一个ActionListener。我能让鼠标听器总是在ActionListener之前启动吗 在我看来,如果我在ActionListner之前加上MouseListener,我只是祈祷他们会按照这个顺序开火 现在我明白了,用这种方式编码是不好的做法,你不应该指望事件的顺序,但对于我遇到的这种情况,这是必须的 如果一个侦听器触发的操作需要在另一个侦听器之前发生,请更改逻辑,谢谢 或者组合监听器,以便

我是否可以控制Swing应用程序中触发事件的顺序? 例如,我有一个组件的MouseListener和一个ActionListener。我能让鼠标听器总是在ActionListener之前启动吗

在我看来,如果我在ActionListner之前加上MouseListener,我只是祈祷他们会按照这个顺序开火

现在我明白了,用这种方式编码是不好的做法,你不应该指望事件的顺序,但对于我遇到的这种情况,这是必须的


如果一个侦听器触发的操作需要在另一个侦听器之前发生,请更改逻辑,谢谢


或者组合监听器,以便单个监听器获得两个事件,并在需要时暂时保留一个事件。或者只添加一个侦听器,让它调用适当的方法,或者在完成后创建一个新事件

将ActionListener代码包装在SwingUtilities.invokeLater(…)中。代码将添加到EDT的末尾


我仍然会在同一个类中有两个侦听器,因此依赖关系有很好的文档记录

为什么这是必须的?陈述真正的需求,而不是你提出的解决方案!我相信有人能提出更好的解决方案。