你把绘图工作放到paint里面,需要重绘的时候他会先去掉用update方法,update方法会去调用paint方法。当然你也可以重载update方法,在里面写你的东西你只要知道调用顺序 你要执行repaint----->update-------->paint 如果你没有重载这些方法,他会调用默认的实现cancel是什么东西?你是要调用dispose吧?
调试欢乐多
楼上说的paint我试试,希望继续指教~~谢了
高
//调用客户端向服务器发信息,服务器验证正确之后返回信息,并将Sj_LoadBox.IdIsRight置为truenew Sj_client(name,password);
if(sj_LoadBox.IdIsRight==true)
{
cancel();
}
楼主我不知道你的Sj_client的类的内容,但我猜想他是一个swing线程。
那么问题可能不太复杂,如果你的Sj_client这个swing线程是非阻塞的话,那么最有可能的是立刻往下执行if语句,而这时候很可能sj_LoadBox.IdIsRight的值还未改变。嗬嗬,这个就是问题所在了。
所以要小心非阻塞swing线程的使用。