Processing 3 triangle not showing in Javafx 8

你好,我试图让 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 选项卡中我不知道如何解决这个问题


繁华开满天机
浏览 88回答 1
1回答

茅侃侃

JavaFX 有一个“事件线程”,负责更新 GUI、响应按钮点击等(即任何 GUI 操作)。如果您尝试在 JavaFX 事件线程以外的线程上以任何方式更新 GUI ,您将收到此错误。要修复它:从事件线程自然调用的方法(首选)调用您的代码 -button.setOnAction(event -> {updateGui()})例如,将其附加到一个。将其包装在对的调用中Platform.runLater()- 即Platform.runLater(() -> updateGui());这会将您的调用发布到事件线程。然而,要小心这一点,因为它经常被滥用来使混乱的代码工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java