swing的edt

   知道的越多,不知道的就更多,圆外总是有更大的空间!swing就是这么给我带来的感觉!

   项目中有用到swing,可是知道edt的人,却很少,大都是浮光掠影的了解swing!

   swing编程有两个基本的法则:一,对于时间比较长的任务,应该启动多线程的方式来执行任务。二,对于需要改变swing组件状态的行为,需要在edt里面执行!关于第二点,有两个解决办法,一是用swingutilities类提供的方法,二override swingworker类!这些都是基础知识!

    当前项目中,很好的执行了法则一!而好多代码都在新线程里面直接改变swing组件的状态!

    奇怪现象之一是:在别的线程里面直接改变swing组件状态,并没有引起程序不一致,或者是还没有发现它行为不一致的状态,这让我很迷惑!

   

   

你可能感兴趣的:(多线程,编程,swing)