Java 摆动多个 ActionListeners
Java Swing Multiple ActionListeners
我试图让动作尽可能分开,但遇到了一个动作先于另一个动作触发的问题。现在我有一个添加了两个动作侦听器的按钮。
JButton button = new JButton ();
...
button.addActionListener (new Action1 ());
button.addActionListener (new Action2 ());
2 发生在 1 之前。如何保证顺序?有没有办法让一个动作触发其他动作?
通常,事件源不保证通知侦听器的顺序。这是有原因的:pattern/concept 是关于解耦监听器代码,即监听器应该相互独立。
如果Action1
和Action2
确实需要协调他们的工作,代码不要分散在两个地方。
如果这两个动作在顺序上是相关的,那么它在功能上就是一个动作。我只会注册第一个 actionlistener 并直接从第一个 actionlistener 中调用第二个,或者 - 甚至更好 - 在一个 actionlistener 中编写代码。
我试图让动作尽可能分开,但遇到了一个动作先于另一个动作触发的问题。现在我有一个添加了两个动作侦听器的按钮。
JButton button = new JButton ();
...
button.addActionListener (new Action1 ());
button.addActionListener (new Action2 ());
2 发生在 1 之前。如何保证顺序?有没有办法让一个动作触发其他动作?
通常,事件源不保证通知侦听器的顺序。这是有原因的:pattern/concept 是关于解耦监听器代码,即监听器应该相互独立。
如果Action1
和Action2
确实需要协调他们的工作,代码不要分散在两个地方。
如果这两个动作在顺序上是相关的,那么它在功能上就是一个动作。我只会注册第一个 actionlistener 并直接从第一个 actionlistener 中调用第二个,或者 - 甚至更好 - 在一个 actionlistener 中编写代码。