gpt4 book ai didi

java - 在 actionPerformed() 方法之外使用变量

转载 作者:行者123 更新时间:2023-12-04 06:07:23 26 4
gpt4 key购买 nike

我对 Java 比较陌生,并决定对 Swing 进行一些处理。我想构建一个应用程序,根据单击按钮向上或向下更新计数器。

一切都很顺利,直到我不得不为其中一个按钮添加一个监听器。我添加了一个按钮并修改了我在网上找到的一段代码:

    addHome.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//Execute when button is pressed
addHomeCount++;
}
});

我希望在单击按钮时增加 addHomeCount。如果我添加
System.out.println(addHomeCount);

在该方法中,它完美地将代码输出到控制台窗口。但是,当我在方法之外添加相同的代码时,它只返回 0。

有没有办法可以在 actionPerformed 方法之外获取递增的 addHomeCount 整数并将其放置在 JLabel 中?我已经阅读了 getActionCommand(),但我不确定这是否是我在这里寻找的内容。

最佳答案

它打印 0 的原因是因为监听器之外的代码立即执行。监听器代码仅在您按下按钮时执行,因此它在打印语句之后才会发生。

我认为您需要做的就是从 Action 监听器内部设置 JLabel 文本。

JLabel addHomeLabel = new JLabel();
//add label to gui...
addHome.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//Execute when button is pressed
addHomeCount++;
addHomeLabel.setText("Button pressed " + addHomeCount);

}
});

关于java - 在 actionPerformed() 方法之外使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8199155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com