我的桌面应用程序在保存文件时,需要使用ProgressMonitor来显示进度,所以需要新开个线程,但是ProgressMonitor用的是非模对话框,显示进度的时候还可以做其他操作。
我需要屏蔽这些操作,所以想用模式对话框来显示ProgressMonitor,
当时还是要有ProgressMonitor的特性,譬如说n ms后决定显示不显示进度条。大家有什么想法吗?或者别的思路解决这个问题也可以,谢谢!!!

解决方案 »

  1.   

    thanks lixiaoxue85,
    但是我用join等这个线程结束,结果progressMonitor freeze了,而且之后好像程序就僵死了……
    可能我用的方式不对,多线程头大啊 :(
      

  2.   

    实际上,join还是有用的,我save很小的文件时,不会显示progressMonitor,我特意sleep了5s,可以看出来别的操作都被屏蔽了, OK但是一显示progressMonitor就不行了,progressMonitor freeze,save似乎也结束不掉的样子
      

  3.   

    我新开了个线程去save,同时把frame.setEnable(false),save之后再把frame.setEnable(true),这样save的同时就不能做其他操作了,同时进度条也是OK的。但问题又来了,save好之后,程序会被切换到最后去…… (类似于自动alt-tab),
    有人碰到过这种情况吗?谢谢!
      

  4.   

    notifywait->Save线程、主程序所在线程wait、Save线程执行、在save线程wait前、notify主程序所在线程
      

  5.   

    notify Save线程、主程序所在线程wait、Save线程执行、在save线程wait前、notify主程序所在线程