你好,我试图让 javafx8 在 Windows 10 java 8 eclipse 最新版本上运行 Witn processing 3 但是我收到这个错误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 选项卡中我不知道如何解决这个问题
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
JavaFX 有一个“事件线程”,负责更新 GUI、响应按钮点击等(即任何 GUI 操作)。
如果您尝试在 JavaFX 事件线程以外的线程上以任何方式更新 GUI ,您将收到此错误。要修复它:
从事件线程自然调用的方法(首选)调用您的代码 -
button.setOnAction(event -> {updateGui()})
例如,将其附加到一个。将其包装在对的调用中
Platform.runLater()
- 即Platform.runLater(() -> updateGui());
这会将您的调用发布到事件线程。然而,要小心这一点,因为它经常被滥用来使混乱的代码工作。
添加回答
举报
0/150
提交
取消