Hello试图让javafx8在windows 10 java 8 eclipse上运行Witn处理3,我按照本教程Java Processing 3 PAplet in JavaFX scene as FXNode尝试了最新版本
但是我得到了这个错误
java.lang.IllegalStateException: This operation is permitted on the event thread only; currentThread = main
at com.sun.glass.ui.Application.checkEventThread(Application.java:443)
at com.sun.glass.ui.Window.getScreen(Window.java:403)
at com.sun.javafx.tk.quantum.WindowStage.setBounds(WindowStage.java:289)
at javafx.stage.Window$TKBoundsConfigurator.apply(Window.java:1292)
at javafx.stage.Window.applyBounds(Window.java:1182)
at javafx.stage.Window.centerOnScreen(Window.java:283)
at processing.javafx.PSurfaceFX.placeWindow(PSurfaceFX.java:574)
at processing.core.PApplet.runSketch(PApplet.java:10849)
at processing.core.PApplet.main(PApplet.java:10562)
at processing.core.PApplet.main(PApplet.java:10544)
at processingfxnew.SirpenskiTriangle.main(SirpenskiTriangle.java:13)处理草图没有出现在javafx windows选项卡中,我不确定如何解决这个问题。
发布于 2019-08-16 15:19:48
JavaFX有一个“事件线程”,负责更新GUI、响应按钮单击等(即任何GUI操作)。
如果尝试以除事件线程以外的线程上的任何方式更新GUI ,则会得到此错误。若要修复此问题,请执行以下操作:
button.setOnAction(event -> {updateGui()})。Platform.runLater()的调用中--即Platform.runLater(() -> updateGui());,这将将您的调用发布到事件线程。但是,要小心这一点,因为它经常被滥用来使混乱的代码工作。https://stackoverflow.com/questions/57527127
复制相似问题