Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8094836

java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-5

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P4 P4
    • None
    • 8
    • javafx


      I have a Service to take images (BufferedImages) and it updates a WritableImage.
      Each time I have a picture, the Service update the WritableImage.:


      try {
                    panelDeVisualizacion = SwingFXUtils.toFXImage(biActualFrame, panelDeVisualizacion); /* panelDeVisualizacion is a WritableImage */
      } catch (Exception e) {
           log.error("SwingFXUtils Error", e);
      }

      I'm surprised this works on JavaFX on JDK7 but not on JDK8.

      The error is:


      [Thread-5] ERROR com.novovia.camaralib.NovoviaCamaraOCV - SwingFXUtils Error
      java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-5
      at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:210)
      at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:393)
      at javafx.scene.Scene.addToDirtyList(Scene.java:521)
      at javafx.scene.Node.addToSceneDirtyList(Node.java:417)
      at javafx.scene.Node.impl_markDirty(Node.java:408)
      at javafx.scene.image.ImageView.access$600(ImageView.java:141)
      at javafx.scene.image.ImageView$3.invalidated(ImageView.java:284)
      at javafx.beans.WeakInvalidationListener.invalidated(WeakInvalidationListener.java:83)
      at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:135)
      at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
      at javafx.beans.property.ReadOnlyObjectPropertyBase.fireValueChangedEvent(ReadOnlyObjectPropertyBase.java:74)
      at javafx.scene.image.Image$ObjectPropertyImpl.fireValueChangedEvent(Image.java:568)
      at javafx.scene.image.Image.pixelsDirty(Image.java:542)
      at javafx.scene.image.WritableImage$2.setPixels(WritableImage.java:213)
      at javafx.embed.swing.SwingFXUtils.toFXImage(SwingFXUtils.java:129)
      at com.novovia.camaralib.NovoviaCamaraOCV$servicioDeCamara$1.call(NovoviaCamaraOCV.java:1205)
      at javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:744)

            kcr Kevin Rushforth
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: