【问题标题】:Code execution from Button without ActionListener从没有 ActionListener 的 Button 执行代码
【发布时间】:2017-10-20 02:37:02
【问题描述】:

所以我的程序中有一个按钮(使用 java.awt.Button 制作),我想在按下按钮时执行一些代码。但我不想用 ActionListener 来做这件事。有没有办法避免 ActionListener?

【问题讨论】:

  • 你为什么要这样做?
  • 如果没有人在听,那么怎么会有人知道按钮被按下了?
  • 为什么你可能想在不使用最初设计的东西的情况下监听一个动作?
  • 先阅读这个。了解什么是 ActionListener:docs.oracle.com/javase/tutorial/uiswing/events/…
  • 否 - ActionListener 考虑了触发黄油的各种方式,包括鼠标、键盘和编程方式 - 为什么您不想使用设计的事件通知机制?

标签: java button awt


【解决方案1】:

您可以覆盖processActionEvent(ActionEvent e) 方法来执行代码。

Button btn = new Button("No Listener Button") {
    void processActionEvent(ActionEvent e) {
        // "some code" here
    }
};

请注意,这样做将为您以这种方式创建的每个按钮创建一个新的匿名类,因此这并不是一个真正的好主意™。但它按你的要求做;买家小心。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 2012-05-22
    • 2012-01-12
    相关资源
    最近更新 更多