An
ActionListener是一种回调机制。只要将控件添加到会触发
ActionEvent,该
publicvoid actionPerformed(ActionEvent e)方法就会被调用。
我不明白的是actionPerformed的调用位置。我看到它是在类中定义的,但是没有地方可以调用此方法。
这由UI组件的内部机制调用。从概念上讲,您可以认为代码看起来像这样:
public class Button { private final List<ActionListener> listeners = new ArrayList<ActionListener>(); public void addActionListener(ActionListener l) { listeners.add(l); } public void click() { ActionEvent event = new ActionEvent(this, 0, "click"); for (ActionListener l : listeners) { l.actionPerformed(event); } }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)