暑假)学习总结

解决异常

Exception in thread "Thread-4" java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-4

异常原因:

运行javaFX程序,系统会自动创建一个FX application thread线程,用于更新界面的组件信息,例如ListView的items、Label的text。当我们想运用多线程实现业务,而自己创建的线程又直接导致了界面组件信息的更新时,控制台就会抛出java.lang.IllegalStateException异常。
 

之所以抛出异常,是因为javaFX程序不允许用户在FX application thread线程外更新界面的组件信息,也就是说,所有的更新界面组件的信息的代码,都应该在在FX application thread线程中执行。


解决办法:

1、用Platform类的runLater方法可以解决该问题

runLater方法的定义如下
public static void runLater(Runnable runnable) {
  PlatformImpl.runLater(runnable);
}

2、在主线程中执行会更改javafx组件的代码


Platform.runLater(new Runnable() {
    @Override
    public void run() {
        //更新JavaFX组件的代码
    }
});

清空vbox控件的方法

msgVBox.getChildren().clear();

思考服务器端怎么弄好友申请

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值