将信息从一次调用传递回Kotlin中的javafx Task

时间:2018-11-12 16:14:38

标签: multithreading javafx kotlin

我有一个生成事件的回调。该事件生成我想发送到javafx任务以更新到我的GUI的文本。任务如下。现在所做的只是设置更新消息。

import javafx.concurrent.Task

class MyRunnable:Task<String>(){
    override fun call(): String? {

    for(i in 1..10){
        Thread.sleep(3000)
        updateMessage("This is a String message $i")
    }

    return "Some string"
}

这是创建GUI并将任务绑定到文本区域的代码。

    val thread = Thread(myRunnable)
    thread.isDaemon = true
    thread.start()

    val textArea = TextArea()
    textArea.textProperty().bind(myRunnable.messageProperty())

这是生成事件的回调,我想将此信息传递给我的任务,我将如何去做

class EventListener:ICallback{

override fun eventOccurred(p0: Event?) {
    println(p0?.target().toString())

    val text = p0?.target().toString()

}
}

0 个答案:

没有答案