我会建议一个像下面的东西来实现你的目标。
您可以拥有一个动作侦听器,并通过类层次结构继承常用的功能,而不是拥有两个动作侦听器。
你可以有一个父类如下
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public abstract class AbstractButtonActionListener
implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if(commonActionPerformed(e)){
customActionPerfroemd(e);
}
}
public abstract void customActionPerfromed(ActionEvent e);
/**
*
* @param e
* @return true if the custom aciton should be performed
*/
public boolean commonActionPerformed(ActionEvent e) {
//method implementation
}
}
的commonActionPerformed
方法将处理常用逻辑并返回true,如果流动应该继续。现在你可以添加一个动作监听器到按钮,如下所示
button.addActionListener(new AbstractButtonActionListener() {
@Override
public void customActionPerformed(ActionEvent e) {
//perform the custom logic here
}
});
修改你的逻辑:**错**依赖于监听器通知的顺序 – kleopatra