Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java等待变量被设置_Java_User Interface - Fatal编程技术网

Java等待变量被设置

Java等待变量被设置,java,user-interface,Java,User Interface,有没有办法等到CalibrateAGUI运行完毕后再设置dict 编辑: 我肯定calibrate在同一个线程上,但是,如果我在dict=new HashMapStore.getDictionary下打印某个内容,它会立即打印。如果calibrate在主程序之外的同一个线程中执行,那么执行是同步的,我的意思是每个句子都是按顺序执行的,因此您不需要做任何特殊的事情 另一方面,如果Calibrete.run在其他线程中被执行,也许您可以考虑使用Futurtask.GET,它将等到进程结束继续执行。

有没有办法等到CalibrateAGUI运行完毕后再设置dict

编辑:
我肯定calibrate在同一个线程上,但是,如果我在dict=new HashMapStore.getDictionary下打印某个内容,它会立即打印。

如果calibrate在主程序之外的同一个线程中执行,那么执行是同步的,我的意思是每个句子都是按顺序执行的,因此您不需要做任何特殊的事情

另一方面,如果Calibrete.run在其他线程中被执行,也许您可以考虑使用Futurtask.GET,它将等到进程结束继续执行。


校准是否启动一个新线程或提交要在另一个线程中完成的工作?如果不是,则dict=。。。在calibrate.run完成之前,不会执行该行。或者更确切地说,格言=。。。线路始终在calibrate.run完成后运行-唯一的问题是您是否可以确保在该点实际完成校准。什么是校准?它是否有一个可以调用的方法,该方法返回一个布尔值,指示它是否完成了?更好的是,它是否有一种方法来注册一个事件监听器,该监听器将接收一个指示它已完成的事件?Calibrate只是另一个运行gui的类,同一个线程
    Calibrate calibrate = new Calibrate();
    calibrate.run();
    dict = new HashMapStore().getDictionary();