事件处理Java中的混乱



我搜索了很多有关事件处理的事情,并最终变得更加困惑。我的问题很简单:

Handler hand = new Handler();
aButton.addActionListener(hand);
private class Handler implements ActionListener{
public void actionPerformed(ActionEvent ae)
{
//event handling code
}
}

在这里,该按钮已经注册了动作侦听器,并且已将 hand 传递给ActionPerformed(?), Hand 如何到达Action Perverperformed功能函数名称不一样?为什么甚至需要发送?当接口内的方法中没有代码时,为什么我们甚至需要实现界面?谢谢

在这里,按钮已自行注册了动作侦听器,并且已经将手传递给了Action Performed(?)

不,hand是对Handler实例的引用。Handler是实现ActionListener接口的类。

aButton.addActionListener(hand)注册Handler实例引用hand作为单击按钮时要调用的操作侦听器。

单击按钮时,将执行Handler实例的actionPerformed方法。

当接口中的方法不包含代码时,为什么我们甚至需要实现接口?

这只是一个例子。您应该在actionPerformed中添加代码(替换//event handling code注释)。否则就不需要注册该Handler实例,因为它什么都不做。

相关内容

  • 没有找到相关文章

最新更新