详细异常如下:
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() {
}
});
分享到:
相关推荐
本文件夹专为以下错误对症下药。...Exception in thread "VFW Request Thread" java.lang.UnsatisfiedLinkError: JMFSecurityManager: java.lang.UnsatisfiedLinkError: no jmvfw in java.library.path
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....
官方版本,亲测可用
- **java.awt**:这是Java中的Abstract Window Toolkit,用于构建和管理应用程序的图形用户界面(GUI)。它支持跨平台的窗口、组件和图形环境。 - **java.awt.color**:提供了颜色模型和色彩空间转换的功能。 - **...
官方版本,亲测可用
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...
1. **`java.applet`**:提供Applet相关的类和接口,用于开发嵌入到网页中的小型应用程序。 2. **`java.awt`**:提供创建图形用户界面的基础类库,包括组件、容器、布局管理器等。 3. **`java.awt.color`**:提供颜色...
- `java.awt`和`java.awt.image`:提供了基本的图形绘制和图像处理功能,如BufferedImage类。 7. **网络通信**: - `java.net`包:提供了Socket、ServerSocket、URL等类,用于网络编程。 8. **异常处理**: - `...
itext2.1.7 Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapp
Ardor3d-awt-0.7.jar.zip文件是我们关注的重点,它是Ardor3D与Java AWT(Abstract Window Toolkit)接口的集成,允许开发者将3D内容无缝地嵌入到传统的Java GUI应用中。 AWT是Java早期提供的用于创建用户界面的工具...
java运行依赖jar包
- **jdk**:Java标准库的实现,如awt、swing、io、net、lang等包。 - **jfxrt**:JavaFX的相关源码,Java 7开始作为可选模块。 - **make**:构建系统的相关文件,如Makefile和规则。 - **test**:包含了大量的单元...
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
appengine-awt是在Google AppEngine环境中使用的java.awt和javax.imageio包的纯Java实现。 该代码主要基于Apache Harmony和Apache Sanselan项目。 当前,该库提供了足够的功能,可以使用蜡染将svg文件转码为图像。...
1. **java.lang**: 这是最基础的包,所有Java程序都会自动导入。其中包含了一些基础类,如`String`、`Integer`、`System`和`Object`等。`String`用于处理文本字符串,`Integer`是整数对象的封装,`System`类提供了...
[Java.2.图形设计卷I:AWT].David.M.Geary.扫描版.part2
首先,Java中的图像处理主要依赖于Java Advanced Imaging (JAI) API 和 Java AWT/Swing库。JAI是一个强大的图像处理库,提供了多种图像操作,如缩放、旋转、色彩转换等。AWT和Swing库则提供了基本的图形用户界面组件...
1. Swing或AWT:Java提供两种图形用户界面库,即AWT(Abstract Window Toolkit)和Swing。AWT是早期的GUI库,而Swing是建立在AWT之上的,提供了更丰富的组件和更好的外观。这个Applet可能使用了Swing来创建播放、...