【问题标题】:Is there a way to change ActionListeners from public void to something else? [closed]有没有办法将 ActionListeners 从 public void 更改为其他东西? [关闭]
【发布时间】:2013-08-17 07:29:53
【问题描述】:

我试图在按下 JButton 时运行公共静态 int,但我无法从公共 void 运行它。有什么办法可以解决吗?

btnGoMining.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent arg0) {
        Mining(randomOre, oresGet, mineTime, Inventory);
    }
});

【问题讨论】:

  • public static int 在哪里?
  • 您可以从非静态调用静态方法。如果您想要actionPerformed() 的返回值,那是不可能的(无论如何它会在哪里返回?)。您可以通常在 actionPerformed() 正文中分配来自 static int 方法的返回值。
  • 您不能“运行公共静态整数”。请解释您想要实现的目标,最好使用代码示例。 “运行 int”没有任何意义。
  • 如果我理解正确(并且我相当有信心我不理解),您希望执行的操作返回一个对象或原语(例如int)。那是不切实际的。为了解决这个问题,有必要查看设计的其他区域。一种可能的方法是从执行的操作中调用一个接受整数或对象值的方法。你究竟想在这里实现什么?像我是用户一样向我解释它,这是一个功能。例如。 “点击‘创建矿工’按钮开始你的冒险!”

标签: java swing methods return-type


【解决方案1】:

没有。该接口定义了方法签名,因此您唯一可以做的就是添加finalsynchronized,因为它们不被视为方法签名的一部分。

【讨论】:

    猜你喜欢
    • 2013-04-29
    • 2016-07-14
    • 2023-01-05
    • 1970-01-01
    • 2016-01-22
    • 2012-11-12
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多