java - 单击按钮后更新 GUI : JavaFX

标签 java multithreading concurrency javafx platform

希望在单击按钮时首先更新 GUI,但是 Platform.runLater 在稍后阶段执行,并且正在寻找在单击按钮时首先更新 GUI 的代码段。

Platform.runLater(new Runnable() {
                    @Override
                    public void run() {
                        //Update GUI here
                    }
                });

如果有人可以提供任何意见或建议,我们将不胜感激。

最佳答案

尽管 API 指定 Platform.runLater“在未来某个未指定的时间在 JavaFX 应用程序线程上运行指定的 Runnable”,但通常只需要很少的时间甚至不需要时间来启动指定的线程。被执行。相反,您只需向按钮添加一个 EventHandler 即可监听鼠标点击。

假设 Controller 实现可初始化

    @FXML Button button;

    @Override
    public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
        button.setOnMouseClicked(new EventHandler<MouseEvent>() {

            @Override
            public void handle(MouseEvent event) {
                updateGUI();
            }
        });
    }

    private void updateGUI() {
        // code
    }

关于java - 单击按钮后更新 GUI : JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25146650/

相关文章:

java - 如何从另一个线程使 View 无效?

java - 如何创建一个计数器来计算输入最高薪水的人数?

java - 等待 future 的名单

java - 如何为 android 的连接 json 调用创建线程

java - 有时无法访问Web服务

Java/Android 子弹对象流程

java - 优先级较高的线程获得与优先级较低的线程相同的 CPU 数量?

c++ - 在一个简单的例子中解释并行代码执行和进一步的性能提升

python - 同时计算 Pandas 数据框

multithreading - 使用监视器的一车道桥