gpt4 book ai didi

java - 添加 Action 监听器的语法

转载 作者:搜寻专家 更新时间:2023-11-01 01:53:34 25 4
gpt4 key购买 nike

当我输入以下代码时:

JButton aButton = new JButton("Button");
aButtin.addActionListener(this);

我的 IDE (NetBeans) 将此突出显示为泄漏此声明。虽然使用该语句似乎从来没有任何负面影响,但我阅读的一些文档表明更合适的方法是将 Action 监听器添加为实现 ActionListener 的内部类的新实例。NetBeans 和这些文档知道哪些我不知道的信息?泄漏此声明的真正含义是什么?以这种方式使用它是否有我不知道的负面影响?

最佳答案

三种方式

  • aButton.addActionListener(this); 如果类声明包含 implements ActionListener 并且有 public void actionPerformed(ActionEvent ae) { 也是

我。伪代码

public class ButtonDemo implements ActionListener{

aButton.addActionListener(this);

@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == aButton) {

}
}
}
  • aButton.addActionListener(new ButtonPress()); 是在 ActionLIstener 被声明为单独类的情况下

我。伪代码

public class ButtonDemo {    
aButton.addActionListener(new ButtonPress());
}

public class ButtonPress implements ActionListener {

@Override
public void actionPerformed(ActionEvent e) {

}
}
  • 更简单、清晰且没有副作用(上午两种方式)是创建内部匿名监听器

我。伪代码

    aButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

}
});

关于java - 添加 Action 监听器的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18112907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com