"AWT-EventQueue-一" java.lang.ArrayIndexOutOfBoundsException: No such c

AWT-EventQueue-1 java.lang.ArrayIndexOutOfBoundsException: No such child详细异常如下:???导致该异

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

详细异常如下:

?

?

?

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

?

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

?

?

解决办法:

?

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

?

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