GUI程序关闭按钮不起作用,该怎么处理
GUI程序关闭按钮不起作用我写了个GUI的程序。在程序运行的时候(比如点击某个按钮,程序做一些写文件操作),点
GUI程序关闭按钮不起作用
我写了个GUI的程序。在程序运行的时候(比如点击某个按钮,程序做一些写文件操作),点击关闭按钮不起作用了,只能到任务管理器强制关闭。大家知道是为什么吗?程序不运行(比如没开始写文件)的时候是可以关闭的。怎么才可以在程序运行的时候关闭呢?
[解决办法]
你试试把写文件的操作放在单独的线程中试试。或许是写文件在主线程,导致主线程等待阻塞。
[解决办法]
人家没写文件之前是可以关闭的,说明加了这句话。我也觉得是阻塞的问题
[解决办法]“读文件”这个操作是不是通过界面控件触发的?
不要在控件的 listener 方法里直接读,建立一个 SwingWorker 然后 execute() ,在它的 doInBackground() 里读。
[解决办法]SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
doSomething();
}
});
[解决办法]把文件操作写在doinbackground里面,在listener里面写new Task().execute()即可
private class Task extends SwingWorker<Void, Void>{
@Override
protected Void doInBackground() throws Exception {
//write file
return null;
}
}