我正在创建一个applet嵌入HTML页面。这个applet使用了GroupLayout类,它在Java SE 6中可以找到,但在Java SE 5中没有。
当某人的电脑运行Java 5或更早的版本打开这个HTML页面,会发生什么?
applet是否不能正常运行?
将抛出ClassDefNotFoundError。为了避免这种情况,不要使用新的API或第三方API或"仍然"组布局:获取类,更改其包,包含到您的项目中并使用它。你甚至可以做得更好。使用Class.forName()动态创建实例。如果成功,使用标准实现,否则使用偷来的类。你可以这样做,因为通常你可以使用标准的LayoutManager的API,而不使用特定类加载器的API。
是的,它会失败。
您可以使用具有类似功能的第三方库:http://java.net/projects/swing-layout/
是的,applet将失败。java插件将无法加载applet类,原因可能是版本异常或找不到类。