JavaFX如何重绘?

suiyuanba 2013-09-07 01:16:17
刚开始学JavaFX,用FXML写的界面,遇到不少问题,先上代码
public void btn_copyOnAction(ActionEvent event) {
this.btn_copy.setDisable(true);
this.btn_exit.setDisable(true);

try {
FileInputStream in = new FileInputStream(new File("D:/Downloads/Ice.Age.4.Continental.Drift.2012.DVDRip.XviD.AC3-3LT0N.avi"));
FileOutputStream out = new FileOutputStream(new File("D:/b.avi"));
long t1 = System.currentTimeMillis();
byte data[] = new byte[1024];
System.out.println("开始复制");
while (in.read(data) != -1) {
out.write(data);
out.flush();
}
in.close();
out.close();
long t2 = System.currentTimeMillis();
System.out.println("复制完成,耗时" + (t2-t1) + "毫秒!");
} catch (Exception e) {
e.printStackTrace();
}

// this.btn_copy.setDisable(false);
// this.btn_exit.setDisable(false);
}
这是一段点击按钮后的处理代码,很简单,点击按钮,先把两个按钮禁用,然后复制一个文件,现在的问题就是,this.btn_copy.setDisable(true);this.btn_exit.setDisable(true);这两行执行之后,按钮没有立刻被禁用编程灰色,而是一直等到try-catch块执行完毕之后才变灰禁用,以前写Swing的时候要调用一次paint才会立刻禁用的,现在改成JavaFX就不知道如何重绘了
...全文
270 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧