gpt4 book ai didi

java - 如何给自定义对象添加ActionListener

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

所以在我的代码中,我试图创建一个自定义的 Tile 对象。我想在 Tile 对象的构造函数中放置一个 Action 监听器,但这就是问题所在。我收到错误The method addActionListener(Tile) is undefined for the type Tile。这个错误是什么意思,有没有办法在不更改为不同类型的监听器的情况下修复它?

public class Tile extends JLabel implements ActionListener{

public Tile(int x, int y, Color c){
this.x = x;
this.y = y;
setBorder(BorderFactory.createLineBorder(Color.black));
setMinimumSize(size);
setMaximumSize(size);
setPreferredSize(size);
setOpaque(true);
setBackground(c);
addActionListener(this);
}
public void actionPerformed(ActionEvent arg0) {
changeColor(Color.red);
}

}

最佳答案

虽然您可以添加自己的方法来实现 ActionListener 我怀疑这可能不是您想要的。根据您要响应的事件,您将需要使用不同的方法来添加监听器。

例如,如果您想响应标签上的点击,那么您需要一个 MouseListener

addMouseListener(new MouseAdapater() {
@Override
public void mouseClicked(MouseEvent event) {
...
}
});

根据您想要回复的内容,还有许多其他版本。我建议您阅读 https://docs.oracle.com/javase/tutorial/uiswing/events/index.html 上的教程章节。了解更多示例。

关于java - 如何给自定义对象添加ActionListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54337960/

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