【问题标题】:Processing 3 triangle not showing in Javafx 8 Window tab [closed]Javafx 8窗口选项卡中未显示处理3三角形[关闭]
【发布时间】:2019-08-16 15:15:16
【问题描述】:

你好,我试图让 javafx8 工作 Witn processing 3 on windows 10 java 8 eclipse 最新版本我试过遵循这个 教程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 选项卡中,我不确定如何解决此问题

【问题讨论】:

    标签: java javafx processing


    【解决方案1】:

    JavaFX 有一个“事件线程”,负责更新 GUI、响应按钮点击等(即任何 GUI 操作)。

    如果您尝试在 JavaFX 事件线程以外的线程上以任何方式更新 GUI,您将收到此错误。要修复它:

    • 从事件线程自然调用的方法调用您的代码(首选) - 例如,将其附加到 button.setOnAction(event -> {updateGui()})
    • 将其封装在对Platform.runLater() 的调用中 - 即Platform.runLater(() -> updateGui()); 这会将您的调用发布到事件线程。但是,请注意这一点,因为它经常被滥用以使杂乱的代码正常工作。

    【讨论】:

    • 那么为什么那个帖子说它会默认加载,它不再是真的还是我可以让按钮强制点击自己
    • 我无法对该帖子发表评论。如果你想在 Java 代码中点击按钮,你可以调用 button.fire(); 来模拟点击按钮。
    猜你喜欢
    • 1970-01-01
    • 2013-06-30
    • 2017-04-03
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多