Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Multithreading_Swing - Fatal编程技术网

Java 让线程返回值的正确方法是什么?

Java 让线程返回值的正确方法是什么?,java,multithreading,swing,Java,Multithreading,Swing,我是Java线程的新手,在测试了Java线程的工作原理之后,我无法理解如何让它们进行计算并以我想要的方式返回结果 例如,在我当前的程序中,我希望线程通过调用一个方法来查询数据库,该方法在我单击JButton时返回Vector对象中的数据。然后,对于该向量对象,我想将每个索引(一个数组)添加为JTable中的一行 实现这一目标的正确方法是什么?我知道我可以在调用类的JTable上使用setter,但我确信必须有一种更“正确”的方法。是的,使用setter。此机制设计用于以下情况:需要在后台线程中运

我是Java线程的新手,在测试了Java线程的工作原理之后,我无法理解如何让它们进行计算并以我想要的方式返回结果

例如,在我当前的程序中,我希望线程通过调用一个方法来查询数据库,该方法在我单击
JButton
时返回
Vector
对象中的数据。然后,对于该向量对象,我想将每个索引(一个数组)添加为
JTable
中的一行

实现这一目标的正确方法是什么?我知道我可以在调用类的
JTable
上使用setter,但我确信必须有一种更“正确”的方法。

是的,使用setter。此机制设计用于以下情况:需要在后台线程中运行长时间运行的任务,并在完成或处理时向UI提供更新。由于Swing是单线程的,因此允许UI保持响应。

或通过命令,在命令中,GUI的输出必须包装为更多关于中的内容参见此。