gpt4 book ai didi

java - 如何从另一个actionListener内部的actionListener访问变量?

转载 作者:行者123 更新时间:2023-12-01 11:43:24 25 4
gpt4 key购买 nike

private int var = 0;

test(){
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String selection = (String) items.getSelectedItem();

for (int i = 0; i < itms.length; i++) {
if (selection == itms[i]) {
var = 10 + i;

System.out.println(var); // prints the desired value
}
}
}
};

System.out.println(var); // prints 0 but why not desired value???
}

此actionListener 用于组合框。我想获取组合框中所选项目的值并将其提供给另一个actionListener,该actionListener将根据选择的JButton将新值附加到原始actionListener中的var。如何从该 actionListener 内部获取 var 的值,并在同一个构造函数中的另一个 actionListener 中使用它?这可能吗?有更好的方法吗?

最佳答案

您的 actionPerformed() 方法将在其事件发生时执行,但 actionPerformed() 外部的 print 语句并非如此。

所以这个声明

System.out.println(var); // prints 0 but why not desired value???

每当您创建 test 类的对象时都会执行(最好根据 Java 命名约定将其命名为 Test 类)因为 print 语句是写在构造函数内部的。相反,每当事件发生时,actionPerformed 方法中的 print 语句将被执行并打印正确的值,即您的“所需值”。

关于java - 如何从另一个actionListener内部的actionListener访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29325717/

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