使用 addActionListener() 的 ActionExecute 和 Netbeans 生成的 ActionExecute 之间有什么区别?



所以我读了此信息以了解事件源,事件对象和事件处理程序及其实现,看起来像这样:

aButton.addActionListener(new ActionAdapter()
{
   public void actionPerformed(ActionEvent e)
   {
      System.exit(0);
   }
});

,但我注意到Netbeans何时创建一个动作效果的处理程序(?),它看起来像:

private void aButtonActionPerformed(java.awt.event.ActionEvent evt) {
}

他们有相同的功能还是我缺少什么?

如果您更仔细地查看Netbeans生成的代码,您会看到initComponents()内部有此代码:

aButton.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
        aButtonActionPerformed(evt);
    }
});

这正是您在问题中指出的标准实现。

NetBeans使用此结构来防止对标准代码进行编辑,这可能会导致事件处理不正确,从而使您同时编写事件发生时需要执行的代码。

最新更新