gpt4 book ai didi

java - addActionListener 不起作用

转载 作者:行者123 更新时间:2023-12-01 06:38:25 25 4
gpt4 key购买 nike

我遵循了有关如何执行此操作的教程 - 这是我使用的代码:

package soundboard;
import javax.swing.*;
import java.awt.event.*;

public class Soundboard {

JButton Button1;

public void windowCreate() {
JFrame frame = new JFrame();
mainsPanel = new JPanel();

Button1 = new JButton("1");
Button1.addActionListener(this);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.add(Button1);
frame.add(mainsPanel);

frame.setSize(183,245);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}

public void actionPerformed(ActionEvent event){
}

public static void main(String[] args){
Soundboard window = new Soundboard();
window.windowCreate();
}
}

代码似乎不起作用。谁能解释一下为什么吗?

JPanel 用作背景。问题出在 Button1.addActionListener(this); 中,因为它说“this”不能转换为 ActionListener 或类似的东西。

最佳答案

如果您想将您的类添加为 Onclicklistener:

Button1.addActionListener(this);

那么你的类必须实现适当的接口(interface)ActionListener,如下所示:

public class Soundboard implements ActionListener{
//...

@Override
public void actionPerformed(ActionEvent e){
//...
}
}

编辑

如果您有多个按钮,需要单独实现,您可以使用匿名类:

mybutton.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e){
//does something, that probably interests only mybutton
//declare mybutton as **final** if you must use it
}
});

关于java - addActionListener 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25869768/

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