抱歉,这是我从未意识到的概念,我从未在项目中使用过。我需要绝对地学习和使用它。

因此,我阅读了许多有关接口和事件处理的文章,但我并不介意。

只是从一个简单的例子开始:

public class Main implements ActionListener{
    JButton but=new JButton("BUTTON");
    public Main() {
        but.addActionListener(this);
    }


    public void actionPerformed(ActionEvent e) {
        // DO SOMETHINGS WHEN THE BUTTON IS CLICKED
    }
}


此代码非常简单。我实现了ActionListener接口,因此需要编写自己的方法代码(actionPerformed)。

我不明白的是:

1-谁实现addActionListener方法?它不是JButton类的方法。谁提供这种方法?

2-addActionListener和actionPerformed方法之间的桥梁是什么?第一个应该提供Event e到第二个...并且都必须在某个地方实现...

很抱歉这个问题。我试图学习这一点(通过阅读互联网上的许多文章),但是我不明白这是如何工作的!

欢呼,谢谢大家:)

最佳答案

1-谁实现addActionListener方法?它不是JButton类的方法。谁提供这种方法?


JButton扩展了AbstractButton,从中继承了addActionListener


2-addActionListener和actionPerformed方法之间的桥梁是什么?第一个应该向第二个提供事件e ...并且都必须在某个地方实现...


简而言之:当按下屏幕上的特定区域时,AWT事件处理程序线程会通知位于屏幕该区域的UI元素。

在我们的例子中,如果UI元素是按钮,则按钮事件处理逻辑会在操作侦听器列表(通过“ addActionListener”注册)上循环并在每个侦听器中调用“ actionPerformed”方法。

有关使用按钮的信息和示例,请参见Java教程中的How to Use Buttons, Check Boxes, and Radio Buttons

10-08 19:41