更新UI线程
在javafx中,线程分为Task,service,和Runable,
thread是java中的线程,不能直接用于javafx中,javafx的线程就剩下了task和service。
task是继承自Runable的类,这个线程是一次性的线程,启动,执行完毕,回收,一次执行完成即结束,如果在需要重复使用的线程,就不能使用这个。
service 是爹类,,实现了Worker接口,在service中,线程可以启动,暂停,可重复使用,
当更新ui时,界面卡住无响应,可以参考如下方法尝试:
方法一:
loading=new Thread(()->{
Platform.runLater(()->{
detail.setText("loding .gz file success"+"\n");
filename.setText("文件名:" + file.getName());
filepath.setText("文件位置:" + file.getAbsolutePath());
filesize.setText("文件大小:" + (file.length() / 1024) / 1024 + "M");
// detail.setText(unCompressUtils.progressText);
processor.setVisible(true);
cancelbutton.setDisable(false);
});
try {
unCompressUtils.unOne(file.getAbsolutePath());
} catch (InterruptedException e) {
e.printStackTrace();
}<