【问题标题】:Updating canvas in javafx在 javafx 中更新画布
【发布时间】:2017-09-22 12:32:40
【问题描述】:

我有一个 javafx 应用程序,它使用画布根据某些计算的结果呈现不同的元素。我在 while 循环中的这些计算之后调用渲染函数,如下所示:

  static void calculateAndRender(/*Args*/){

      while(/*condition*/){

          //Perform some calculations

          //render the results
          render();
     }
 }

但是,画布仅在 while 循环结束后渲染,不显示其间的步骤。渲染功能按预期工作,我知道问题不在于循环完成得太快以至于我看不到渲染的画布,这需要一些时间。

那么,问题是,为什么这样做时画布没有更新?我该怎么做才能按我的意愿工作?我在使用带有 gtk 和 javascript 的 python 时遇到了类似的问题,但是在这两种语言中我都能够强制 UI 更新,这似乎在 java 中无法完成。

【问题讨论】:

    标签: java user-interface javafx-8


    【解决方案1】:

    您正在使用循环阻塞 JavaFX 应用程序线程。 在此处阅读文档:http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多