`
wuliwei85
  • 浏览: 74729 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

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

 
阅读更多

详细异常如下:

 

Exception in thread "AWT-EventQueue-1" java.lang.ArrayIndexOutOfBoundsException: No such child: 1
	at java.awt.Container.getComponent(Container.java:281)
	at javax.swing.JComponent.rectangleIsObscured(JComponent.java:4337)
	at javax.swing.JComponent.paint(JComponent.java:1025)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1128)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:723)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:679)
	at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:659)
	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

 

 

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

 

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

 

 

解决办法:

 

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

 

SwingUtilities.invokeLater(new Runnable() {
	public void run() {
		
	}
});
 
分享到:
评论

相关推荐

    no jmvfw in java.library.path报错解决方案和JMF始终报overwrite解决方案

    本文件夹专为以下错误对症下药。...Exception in thread "VFW Request Thread" java.lang.UnsatisfiedLinkError: JMFSecurityManager: java.lang.UnsatisfiedLinkError: no jmvfw in java.library.path

    swing-worker-1.1.jar

    Exceptionin thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jdesktop/swingworker/SwingWorker at com.android.draw9patch.Application$1.run(Application.java:48) at java.awt.event....

    batik-awt-util-1.6-1.jar

    官方版本,亲测可用

    java API文档

    - **java.awt**:这是Java中的Abstract Window Toolkit,用于构建和管理应用程序的图形用户界面(GUI)。它支持跨平台的窗口、组件和图形环境。 - **java.awt.color**:提供了颜色模型和色彩空间转换的功能。 - **...

    batik-awt-util-1.5.jar

    官方版本,亲测可用

    Ace-1-SE-Java-class-libraryl.zip_java class_zip

    Ace 1 SE Java类库是Java开发者的重要资源,它包含了用于构建Java Standard Edition(SE)应用程序的各种类和接口。这个压缩包"Ace-1-SE-Java-class-libraryl.zip"显然是一个专门针对Ace 1 SE Java类库的资料集合,...

    Android 出现:java.lang.NoClassDefFoundError...错误解决办法

    在Android开发过程中,有时会遇到一个常见的运行时异常——`java.lang.NoClassDefFoundError`。这个错误通常意味着在编译期间能够找到类的定义,但在运行时却无法加载该类。本文将深入探讨这个问题,特别是在Android...

    java api文档

    1. **`java.applet`**:提供Applet相关的类和接口,用于开发嵌入到网页中的小型应用程序。 2. **`java.awt`**:提供创建图形用户界面的基础类库,包括组件、容器、布局管理器等。 3. **`java.awt.color`**:提供颜色...

    常用的java工具类

    - `java.awt`和`java.awt.image`:提供了基本的图形绘制和图像处理功能,如BufferedImage类。 7. **网络通信**: - `java.net`包:提供了Socket、ServerSocket、URL等类,用于网络编程。 8. **异常处理**: - `...

    itext2.1.7

    itext2.1.7 Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapp

    ardor3d-awt-0.7.jar.zip

    Ardor3d-awt-0.7.jar.zip文件是我们关注的重点,它是Ardor3D与Java AWT(Abstract Window Toolkit)接口的集成,允许开发者将3D内容无缝地嵌入到传统的Java GUI应用中。 AWT是Java早期提供的用于创建用户界面的工具...

    batik-awt-util-1.7.jar

    java运行依赖jar包

    openjdk-7-fcs-src-b147-27_jun_2011.zip

    - **jdk**:Java标准库的实现,如awt、swing、io、net、lang等包。 - **jfxrt**:JavaFX的相关源码,Java 7开始作为可选模块。 - **make**:构建系统的相关文件,如Makefile和规则。 - **test**:包含了大量的单元...

    JAVA API官方中文版手册chm文件文档

    java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image java.awt.image.renderable java.awt.print ...

    [Java.2.图形设计卷I:AWT].David.M.Geary.扫描版.part1

    [Java.2.图形设计卷I:AWT].David.M.Geary.扫描版.part1

    appengine-awt:自动从code.google.compappengine-awt导出

    appengine-awt是在Google AppEngine环境中使用的java.awt和javax.imageio包的纯Java实现。 该代码主要基于Apache Harmony和Apache Sanselan项目。 当前,该库提供了足够的功能,可以使用蜡染将svg文件转码为图像。...

    IBM-ETP-java培训09.Java 常用类讲解.ppt

    1. **java.lang**: 这是最基础的包,所有Java程序都会自动导入。其中包含了一些基础类,如`String`、`Integer`、`System`和`Object`等。`String`用于处理文本字符串,`Integer`是整数对象的封装,`System`类提供了...

    [Java.2.图形设计卷I:AWT].David.M.Geary.扫描版.part2

    [Java.2.图形设计卷I:AWT].David.M.Geary.扫描版.part2

    image-enhancer-in-java.zip_in

    首先,Java中的图像处理主要依赖于Java Advanced Imaging (JAI) API 和 Java AWT/Swing库。JAI是一个强大的图像处理库,提供了多种图像操作,如缩放、旋转、色彩转换等。AWT和Swing库则提供了基本的图形用户界面组件...

    Applet-music-player-by-java.rar_player

    1. Swing或AWT:Java提供两种图形用户界面库,即AWT(Abstract Window Toolkit)和Swing。AWT是早期的GUI库,而Swing是建立在AWT之上的,提供了更丰富的组件和更好的外观。这个Applet可能使用了Swing来创建播放、...

Global site tag (gtag.js) - Google Analytics