我提交了JButton,它有两个ActionListeners
Category cat = new Category();
//this is launched second
submit.addActionListener(new ConfirmListener(new CategoryService(), cat));
//this is launched first. Set values
submit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String title = field.getText();
cat.setTitle(title);
}
});
它们是否已被置于堆叠状态并且随着它们弹出而被启动?第二个侦听器设置对象的值,第一个侦听器使用该对象。
答案 0 :(得分:3)
' ActionListener存储在列表数据结构中,该列表数据结构是组件的成员。它们通常按照添加顺序调用,但这不能保证,并且可以通过例如子类以不同方式处理。
因此,依赖于侦听器的特定调用顺序被认为是不好的做法。如果需要订单,请创建一个复合侦听器,然后按照您需要的顺序调用实际的侦听器方法。
答案 1 :(得分:1)
ActionListener
位于存储在EventListenerList
中的场景后面,因此它们将按照添加顺序执行。