如何添加监听多个按钮的动作监听器

2024-01-01

我试图找出我对动作监听器做错了什么。我正在遵循多个教程,但当我尝试使用操作侦听器时,netbeans 和 eclipse 给了我错误。

下面是一个简单的程序,我试图让一个按钮在其中工作。

我究竟做错了什么?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;


public class calc extends JFrame implements ActionListener {



    public static void main(String[] args) {

        JFrame calcFrame = new JFrame();

        calcFrame.setSize(100, 100);
        calcFrame.setVisible(true);

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

        calcFrame.add(button1);
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == button1)
    }  

}

动作监听器永远不会被注册,因为if(e.getSource() == button1)它看不到button1,错误提示找不到符号。


没有this静态方法中的指针。 (我不相信这段代码能够编译。)

您不应该在静态方法中执行这些操作,例如main();在构造函数中进行设置。我没有编译或运行它来查看它是否真的有效,但请尝试一下。

public class Calc extends JFrame implements ActionListener {

    private Button button1;

    public Calc()
    {
        super();
        this.setSize(100, 100);
        this.setVisible(true);

        this.button1 = new JButton("1");
        this.button1.addActionListener(this);
        this.add(button1);
    }


    public static void main(String[] args) {

        Calc calc = new Calc();
        calc.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == button1)
    }  

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何添加监听多个按钮的动作监听器 的相关文章

随机推荐

  • 如何使用 Estimator 在 sagemaker 中保存 model.tar.gz 文件

    我无法使用以下代码将模型工件保存在 S3 存储桶中 我成功地将结果保存在输出数据路径中 并且训练作业已成功完成 我正在使用下面的代码 任何人都可以确认我们如何使用以下代码将 model artifacts 保存在 model dir 中 t
  • JAXB2 类型限制不起作用?

    我在github上建立了一个测试单元 有人可以检查为什么这不起作用 尽管要解组的 XML 看起来不错吗 https github com jjYBdx4IL misc tests blob master src test java jjyb
  • Objective-C++ 是一种与 Objective-C 完全不同的语言吗?

    正如标题所说 它们被视为不同的语言吗 例如 如果您使用 C 和 Objective C 的组合编写了一个应用程序 您会认为它是用 C 和 Objective C C 和 Objective C 还是全部三种语言编写的 显然 C 和 C 是不
  • 如何模拟慢速客户端(浏览器)?

    有什么办法可以减慢客户端 浏览器 的响应速度吗 我们的一位测试人员可以在他的机器上重现缓慢的情况 他的机器规格足够低 与许多真实客户相似 我们有一个胖客户端 大量的 JavaScript 大量的事件处理 我们担心可能会出现回归 但它在开发人
  • 我应该将所有 WCF 服务代码包装在 try catch 块中吗?

    try here is the code that might throw erros If I discover the user is unauthorized I throw a WebFaultException myself to
  • 查找 Mac OSX 上当前聚焦的应用程序窗口

    我正在编写一个桌面使用情况统计应用程序 它运行一个后台守护程序 该守护程序定期唤醒 查找当前焦点的应用程序窗口的名称并将该数据记录在数据库中 我设法在 xprop 实用程序的帮助下在 Linux 桌面上执行此操作 您可以找到它here ht
  • Pytest 捕获不起作用 - caplog 和 capsys 为空

    我正在尝试为记录器创建单元测试 但是 即使事件已记录 caplog and capsys保持空白 我究竟做错了什么 原来我的记录器有财产propagate set to False 结果 事件没有转发到LogCaptureHandler由
  • 新的 Safari 7 用户代理字符串

    我真的不想在这里打扰你 但由于我没有 Mac 我无法对此进行测试 我制作了一个浏览器嗅探类 我知道它很糟糕 但它运行良好并且不是重点 这一切都工作正常 但是我的同事说我最近做的一个网站上有一个错误 我想知道 查看的是是否有指向任何记录 原始
  • Chrome 开发工具:时间线 - 白条

    我试图了解有关 Chrome 开发工具中时间线的一些事情 来自文档 https developer chrome com devtools docs timeline about clear or light gray frames 我认为
  • 如何从我的 qt 项目引用 qjson.dll 文件?

    如何从 qt 项目之一引用 qjson dll 文件 例如 C qjson 0 7 1 qjson build lib 在这个位置 我有 qjson dll 和 qjson dll a 文件 我想使用我的 qt 项目中的 dll 我应该如何
  • 为什么复选框单击事件上的 PreventDefault 对选中的属性返回 true?

    我只是好奇 需要对以下情况进行一些解释 假设我有一个复选框类型的输入元素 并附加了一个事件监听器 用于监听单击事件 我阻止复选框的默认行为并记录复选框的选中状态 该状态将始终返回 true 复选框的视觉表示告诉我它没有被选中 所以我假设检查
  • 在 Travis 上安装最新版本的 Firefox 并使用 Protractor 运行

    Travis 默认安装 Firefox 31 0esr 但我们希望始终使用最新版本 这参考 https docs travis ci com user firefox Selecting a Firefox version这里说它应该非常简
  • 从 python 中的 while 循环内部返回值

    我不知道这是一个简单的问题还是不可能的问题或什么 但我找不到任何内容 所以我想我会问它 当循环仍在运行时 是否可以从 while 循环返回值 基本上我想要做的是让向量在 while 循环内不断更新 但能够在询问时返回值而不停止 while
  • 带有自定义标头的 Ajax 请求发送到启用了 CORS 的 Web API 服务器

    我正在尝试正确设置 Web API Web 服务以使用 CORS 但最近运气不佳 我有一个来自移动应用程序的 html 页面 使用 ajax 请求来获取一些数据 Webservices GetUserLevel function var u
  • 如何使用跨列通过列索引而不是列名来改变多个列?

    基于这个问题 R dplyr 对列索引进行变异 https stackoverflow com questions 43137868 r dplyr mutate on column index dplyr 如何使用 mutate 按列索引
  • Win7 中的 Python 3.4.0 无法安装 NumPy

    我查看了之前的相关帖子 评论者说 你为什么不使用 Windows 安装程序 所以我按照链接下载了https pypi python org packages 3 4 n numpy numpy 1 8 1 cp34 cp34m macosx
  • 为 Windows Mobile 编译时找不到引用的程序集

    我决定使用tessnet2 http www pixel technology com freeware tessnet2 我的 Windows Mobile 6 项目的库 不幸的是 当我尝试编译它时 它抛出一个错误 tessnet2 Te
  • 如何根据列的变化值对记录进行分组/排名?

    我有下表按 ID 年份 DESC 排序 Id Year Valid 1 2011 1 1 2010 1 1 2009 0 1 2002 1 4 2013 1 4 2012 1 4 2011 1 etc 我想要的是一个额外的排名字段 例如 I
  • 将 google play 服务添加到项目后无法运行项目

    我正在制作一个需要谷歌地图的Android应用程序 我在 Eclipse 中创建了一个新项目并在 Android 手机上编译它 它工作了 但是当我将 google play services lib 导入到我的工作区并在我的项目中添加对它的
  • 如何添加监听多个按钮的动作监听器

    我试图找出我对动作监听器做错了什么 我正在遵循多个教程 但当我尝试使用操作侦听器时 netbeans 和 eclipse 给了我错误 下面是一个简单的程序 我试图让一个按钮在其中工作 我究竟做错了什么 import java awt eve