读书人

quot;AWT-EventQueue-一quot; java.lang.Array

发布时间: 2013-11-08 17:51:56 作者: rapoo

"AWT-EventQueue-1" java.lang.ArrayIndexOutOfBoundsException: No such child

详细异常如下:

?

?

?

导致该异常发生的大致原因是:

?

Java UI是单线程的,如果在UI操作上使用了多线程,则会导致一些内部属性不同步情况,比如:主线程上正要进行重绘操作,已经获取到了父容器总共有3个子组件;此时,另外一个线程正好从父容器上删除了一个子组件;这就导致了子组件数不同步,当主线程要获取第3个子组件时,就会抛异常了,因为此时已经没有第3个子组件了。

?

?

解决办法:

?

将非主线程对UI进行的操作放入到以下run方法中

?

SwingUtilities.invokeLater(new Runnable() {public void run() {}});
?

读书人网 >编程

热点推荐