eventhandler java_java swing中通过EventHandler创建的ActionListener调用gogogo方法失败,求解释...

本文探讨了在Java GUI编程中遇到的问题,即在MyFrame类中调用gogogo方法时出现异常。代码示例展示了两种添加ActionListener的方式,第一种通过EventHandler创建,第二种使用匿名内部类实现。异常表明在MyFrame类中找不到无参数的gogogo方法,可能是方法调用错误或可见性问题。
摘要由CSDN通过智能技术生成

代码//1和代码//2应该是同样的效果,但是//2没问题,而//1则会提示在MyFrame中找不到方法gogogo的异常,求解释!

异常信息:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: No method called gogogo on class MyFrame with no arguments

代码:

class MyFrame extends javax.swing.JFrame{

public void gogogo(){

java.util.Date date = new java.util.Date();

JOptionPane.showConfirmDialog(null, date.toString());

}

javax.swing.JButton btn = new javax.swing.JButton("Set title by action");

public MyFrame(){

javax.swing.JPanel pnl = new javax.swing.JPanel();

//1

java.awt.event.ActionListener action =

java.beans.EventHandler.create(ActionListener.class, this, "gogogo");

btn.addActionListener(action);

//2

//        btn.addActionListener(new java.awt.event.ActionListener(){

//            public void actionPerformed(ActionEvent event){

//                MyFrame.this.gogogo();

//            }

//        });

btn.setBounds(10, 10, 100, 50);

pnl.add(btn);

this.add(pnl);

java.awt.Rectangle r = new java.awt.Rectangle(10,10,300,300);

this.setBounds(r);

pack();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值