我有一个可运行的 gui swing 类,它在初始化构造函数时设置我的变量。当 gui 运行时,它作为自己的单独线程运行。然而,问题是当我的 gui 上触发一个动作事件时,当我尝试访问我的初始化变量时,它们被重置为默认值。经过一些调试,触发的动作事件似乎开始作为它自己的线程。在处理我的动作事件时,如何在正确的线程中访问正确的变量?
示例代码:
public class myGui implements Runnable{
private flag = false;
public myGui(){
flag = true;
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("The value of flag is: " + flag); // prints flag is false
}
public void run(){
// Do stuff
}
// More code ...
}
在我的示例中,在线程中初始化构造函数时,flag 设置为 true。但是,当触发动作事件时,它会看到标志设置为 false 忽略我的线程变量。我该如何解决?
谢谢