Java 摆动多个 ActionListeners

Java Swing Multiple ActionListeners

我试图让动作尽可能分开,但遇到了一个动作先于另一个动作触发的问题。现在我有一个添加了两个动作侦听器的按钮。

JButton button = new JButton ();
...
button.addActionListener (new Action1 ());
button.addActionListener (new Action2 ());

2 发生在 1 之前。如何保证顺序?有没有办法让一个动作触发其他动作?

通常,事件源不保证通知侦听器的顺序。这是有原因的:pattern/concept 是关于解耦监听器代码,即监听器应该相互独立。

如果Action1Action2确实需要协调他们的工作,代码不要分散在两个地方。

如果这两个动作在顺序上是相关的,那么它在功能上就是一个动作。我只会注册第一个 actionlistener 并直接从第一个 actionlistener 中调用第二个,或者 - 甚至更好 - 在一个 actionlistener 中编写代码。