首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2013-11-08 
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() {}});
?

热点排行