JavaFX,从进程获取信息并更新UI?

JavaFX,从进程获取信息并更新UI?,java,javafx,Java,Javafx,我正在尝试启动一个进程,然后从输出用它的信息更新UI。这是我当前的代码: ProcessBuilder pb = new ProcessBuilder() .redirectErrorStream(true) .command(args); Process process = pb.start(); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is

我正在尝试启动一个进程,然后从输出用它的信息更新UI。这是我当前的代码:

ProcessBuilder pb = new ProcessBuilder()
    .redirectErrorStream(true)
    .command(args);
Process process = pb.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;

while ((line = br.readLine()) != null)
{
    System.out.println(line.trim());
    // Trying to update the UI here
}
问题是,该行被输出到控制台,但UI冻结且不更新。我想这是因为while循环,但是我如何修复它呢


谢谢

必须仅在应用程序线程中更新UI。您是否正在使用更新UI?或者,您的流程代码是否在中运行?如果UI处于冻结状态,这是因为您在FX应用程序线程上运行整个流程(阻止该线程执行任何其他操作,例如呈现UI)。请参阅或(在许多其他相关文章中)运行任务内部的所有代码和通过平台更新UI的组合。runLater内部似乎已经完成了,谢谢!