当我的 Java 小程序在旧版 Java 上运行但使用新类时会发生什么情况?
我正在创建一个嵌入 HTML 页面的小程序。此小程序使用 GroupLayout 类,该类在 Java SE 6 中存在,但在 5 中没有。
当运行 Java 5 或更早版本的计算机的人打开此 HTML 页面时,会发生什么?
小程序会无法正常运行吗?
I am creating an applet to embed in an HTML page. This applet uses the GroupLayout class, which is found in Java SE 6, but not in 5.
When someone whose computer runs Java 5 or earlier opens this HTML page, what would happen?
Would the applet not run properly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它将抛出 ClassDefNotFoundError。为了避免这种情况,不要使用新的 API 或使用第三方 API 或“仍然”组布局:获取该类,更改其包,包含到您的项目中并使用它。你甚至可以做得更好。使用 Class.forName() 动态创建实例。如果成功,则使用标准实现,否则使用您窃取的类。您可以这样做,因为通常您可以使用标准 LayoutManager 的 API,而不需要使用特定类加载器的 API。
It will throw ClassDefNotFoundError. To avoid this do not use new API or use third party API or "still" group layout: take the class, change its package, include into your project and use it. You can even do it better. Create instance dynamically using Class.forName(). If it succeeds use the standard implementation, otherwise use your stolen class. You can do it because typically you can use standard LayoutManager's API without using API of specific class loader.
是的,它会失败。
您可以使用具有类似功能的第三方库: http://java.net/projects/swing-布局/
Yes, it would fail.
You can use a third-party library with similar functionality: http://java.net/projects/swing-layout/
是的,小程序会失败。 java 插件将无法加载您的 applet 类,原因可能是版本错误异常或未找到类。
Yes, the applet would fail. The java plugin would fail to load your applet class, either from a bad version exception or a class not found.