在JRE 7u4中运行时,Nimbus JDK 6u27 applet崩溃

时间:2012-05-16 23:29:48

标签: applet java nimbus

我们有一个Web应用程序,可以使用定制画家扩展Nimbus LaF库以进行各种控制。 applet是针对JDK 6u27构建的,并且针对JRE 6.x按预期运行,但是在针对JRE 7u4运行它时遇到了问题。

我们为自定义Painter类扩展AbstractRegionPainter并尝试实例化PaintContext,这会导致抛出“未找到类”异常。

我们意识到Nimbus已经被移植到Java 7中的javax.swing,而com.sun.java.swing.plaf.nimbus.AbstractRegionPainter(我们导入的)现在扩展了javax.swing.plaf.nimbus.AbstractRegionPainter,但是似乎Oracle没有提供类似的PaintContext内部类的重定向。 applet在调试日志中显示以下内容:

Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/nimbus/AbstractRegionPainter$PaintContext
...
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.nimbus.AbstractRegionPainter$PaintContext
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)

由于任何扩展AbstractRegionPainter的类必须提供PaintContext,这似乎是JRE7u4中的向后兼容性错误,但如果有人对我们如何解决/解决此问题有任何想法,那么它将是非常感谢。

0 个答案:

没有答案