为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 javafx 执行 Timer 类,其中 javafx 对象在内部发生变化

如何使用 javafx 执行 Timer 类,其中 javafx 对象在内部发生变化

慕尼黑5688855 2023-05-17 16:10:21
我试图让 FXML 标签在特定的时间间隔内自行刷新,但我在下面显示了一个异常。我在这里的尝试: public static void showActualViewer(MixerChannel mixerChannel, Label label){        Platform.runLater(new Runnable() {            @Override            public void run() {                Timer timer = new Timer(1000, new ActionListener() {                    @Override                    public void actionPerformed(ActionEvent e) {                        label.setText("Actual Viewers : " + mixerChannel.viewersCurrent);                        System.out.println("works");                    }                });                timer.start();            }        });    }错误:线程“AWT-EventQueue-0”中的异常 java.lang.IllegalStateException:不在 FX 应用程序线程上;currentThread = AWT-EventQueue-0
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

您正在使用 Platform.runLater(); 在 java fx 线程中设置事件处理程序;但是,actionPerformed() 方法中的代码将在事件线程上运行。要解决此问题,请使用 Platform.runLater() 将 actionPerformed() 中的代码包围起来



查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信