【问题标题】:How to access a variable from an ActionListener如何从 ActionListener 访问变量
【发布时间】:2015-08-03 03:10:21
【问题描述】:

有没有办法让我访问在 ActionListener 中创建的变量?我想访问主类中的变量。

  actionBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) { 
             int Number = 0;  //Access this variable

                }
            });
        }

【问题讨论】:

  • 你可以让它成为一个全局变量(即在actionListener之外声明它)。
  • @Pushkin 我记得自己早些时候这样做过。我遇到了多个问题,它必须是最终的,然后它就不起作用了。
  • 你能给我们更多关于这个问题的背景信息吗?基本上,只有一种方法:将变量或方法或侦听器置于可从您的上下文访问的更广泛范围内。
  • @BachT 是的,对不起。我的意思是我想在 ActionListener 中分配变量,即使它已经被全局分配了。基本上,我想按下按钮并将该变量更改为我想要的。
  • 仍然不确定你想要什么。但通常情况下,我不会让 Listener 完成这项工作,因为在这种情况下,我会将“状态相关”信息推送到 Model 9 中,可能是包含您提供的所有代码的类。你能再详细解释一下吗?

标签: java variables actionlistener


【解决方案1】:

有时您想从侦听器返回一个值。在大多数情况下,最好将其作为类中的成员字段并访问它。有时定义一个成员变量看起来有点过头了。当我使用SwingUtilities.invokeAndWait 时,我发现它经常发生。在这些情况下,我通常定义一个所需类型的数组(在这种情况下为 final Number[] value[1])并在可运行对象中设置 value[0]

我仍然不明白它在这种情况下会有什么用处。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2014-04-28
    • 1970-01-01
    相关资源
    最近更新 更多