JavaFX
来源:互联网 发布:java bcd编码 编辑:程序博客网 时间:2024/05/16 01:07
之前看了篇blog学习了一下如何使用JavaFX多线程:
JavaFX如何做多线程编程
里面讲到用Task或者Service来启用FX子线程以更新界面。最近尝试了下用Task,但一直报错:
“Not on FX application thread”
研究了半天,发现Task类里面的call方法还是使用传统子线程做处理
只有successed, running, scheduled, cancelled, failed等方法才是使用JavaFX线程工作的
因此要更新UI,只要重写这些方法即可:
button.setOnAction((event) -> { new Thread(new Task<Void>() { // call方法里面的线程非JavaFX线程 @Override protected Void call() throws Exception { button.setText("1xxx"); // 这里会报错 return null; } @Override protected void succeeded() { button.setText("xxx"); System.out.println(Thread.currentThread()); super.succeeded(); } }).start();});
阅读全文
0 0
- JavaFx
- JavaFX
- JavaFX
- javaFX
- JavaFx
- JAVAFX
- javafx
- JavaFX
- JavaFX
- javaFX
- javaFX
- JavaFX
- JavaFX
- 什么是JavaFX - JavaFX 入门
- javaFx帮助
- javaFx简介
- javaFx简介
- 关于JavaFX
- 通讯录2.0(动态实现)
- 数据结构(c语言版)学习笔记——排序算法
- JQ原理
- 数据库中间件MyCAT源码分析:【单库单表】插入
- The Evolution of the web and web applications
- JavaFX
- java基础--键盘输入一个数,输出数组中指定元素
- 用Java反射输出对象的所有属性的值
- Jq的常用选择器
- 算法2:邻居好说话:冒泡排序
- =="和Equals的区别
- 工厂设计模式(对弈游戏系统)
- 他山界面开发框架OHUI v1.9.1_1
- L先生与 【组合数打表】