Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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
如何使JavaFX服务中的任务不断地接受参数?_Java_Java 8_Concurrency_Task - Fatal编程技术网

如何使JavaFX服务中的任务不断地接受参数?

如何使JavaFX服务中的任务不断地接受参数?,java,java-8,concurrency,task,Java,Java 8,Concurrency,Task,我正在调用JavaFX服务中的一个任务做一些事情,问题是这个服务中的方法只从UI元素获取一次参数 代码: public void DoSomething(){//单击按钮时调用此方法 ExampleService s=新的ExampleService(); s、 setValue1(s1.getValue());//s1,s2-UI元素 s、 setValue2(s2.getValue()); s、 start(); }; 私有静态类ExampleService扩展服务{ 双重价值1,价值2;

我正在调用JavaFX服务中的一个任务做一些事情,问题是这个服务中的方法只从UI元素获取一次参数

代码:

public void DoSomething(){//单击按钮时调用此方法
ExampleService s=新的ExampleService();
s、 setValue1(s1.getValue());//s1,s2-UI元素
s、 setValue2(s2.getValue());
s、 start();
};
私有静态类ExampleService扩展服务{
双重价值1,价值2;
公共双getValue1(){
返回值1;
}
public void setValue1(双值1){
此值为1.value1=value1;
}
公共双getValue2(){
返回值2;
}
公共无效设置值2(双值2){
此参数为0.value2=value2;
}
@凌驾
受保护的任务createTask(){
返回新任务(){
最终双v1=值1;
最终双v2=值2;
@凌驾
受保护对象调用()引发异常{
而(!isCancelled())
ExampleMethod(v1,v2);//我希望此方法在每次迭代时从UI元素获取参数
返回null;
}
};
}
}
如何使方法在每次迭代时从UI元素获取参数?我尝试在方法
DoSomething()
中创建任务,但这阻止了UI(老实说,这不是一个好主意…

受保护的任务createTask(int I,int j){
返回新任务(){
@凌驾
受保护的Void调用()引发异常{
而(!isCancelled()){
新方法(i,j);
}
返回null;
}
};
}

有一些例子。你说的“不断获取参数”是什么意思?一个接一个地从一些队列中获取它们?@AlexeiKaigorodov我的意思是从UI中获取值作为参数(例如从滑块)@VGR是的,但我想从UI中获取值,但我从文档中找不到如何不断地从UI中获取值作为参数:/constance,比如定期?每x秒还是每毫秒?
protected Task<Void> createTask(int i, int j) {
    return new Task<Void>() {
        @Override
        protected Void call() throws Exception {
            while(!isCancelled()) {
                new InnerMethod(i, j);
            }
            return null;
        }
    };
}