jdk12中appletviewer的替代方案
Posted
技术标签:
【中文标题】jdk12中appletviewer的替代方案【英文标题】:Alternative to appletviewer in jdk12 【发布时间】:2019-12-05 12:36:02 【问题描述】:JDK12中的applet viewer有什么替代品吗?
我是 Java 新手,我尝试在 Java 中添加 AWT 复选框 它在JDK 1.8 中运行良好,但在JDK12 中无法运行。
我在互联网上搜索,发现小程序查看器已被弃用。 (Applet API 已弃用,不可替代)在官方 oracle 的帮助网页上。
我搜索了这个问题并没有得到满意的答案,所以我在这里发布......
import java.applet
import java.awt.*;
/*
<applet code="CreateCheckBox" width=200 height=200>
</applet>
*/
public class CreateCheckBox extends Applet
public void init()
Checkbox checkBox1 = new Checkbox();
checkBox1.setLabel("My Checkbox 1");
Checkbox checkbox2 = new Checkbox("My Checkbox 2");
add(checkBox1);
add(checkbox2);
它应该在JDK12中工作,因为它运行在JDK1.8中。
【问题讨论】:
没有。重写另一种发射技术。 是什么让您认为某些东西应该适用于 JDK 12,只是因为它适用于 JDK 1.8。这只是一厢情愿的想法。实际上,Applet 的主要问题不是 JDK 12。主要问题是现代浏览器不再支持 Applet。 【参考方案1】:官方没有办法在 Java 11 或更高版本上运行小程序:
appletviewer
应用程序已被删除。
applet 所依赖的java.applet.*
类已被删除。
更正:他们还没有这样做,但我希望他们很快就会这样做。
Applet 应该被视为死技术。
您可以可以想象实现您自己的appletviewer
类版本,并将它们与您的小程序代码一起放入一个JAR 文件中。它应该工作。然而,这是一个坏主意。小程序的主要用例是在网站中嵌入 Java,这将不起作用,因为现代浏览器不再支持 Java 插件。 (事实上,许多最近的浏览器都在积极阻止 Java 插件!)
最好的办法是使用不同的技术重写小程序,具体取决于它们的用途:
AWT / 摆动 JavaFX SWT html 5 等等你说:
它应该在JDK12中工作,因为它运行在JDK1.8中。
这在逻辑上是不正确的。
【讨论】:
@Stephen_C 我没有收到 ClassDefNotFoundError。类文件正在生成,编译没有问题。感谢您的回答,但正如我所说,我正在学习,所以要完成我的一些作业,我需要使用小程序。谢谢 1.使用 Java 8 完成课程作业。 2. 在课程结束时,当他们要求匿名反馈时,请指出该课程正在教授已弃用的技术。让你的朋友也这样做。建议他们改为教 JavaFX 或 android。以上是关于jdk12中appletviewer的替代方案的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL 11 和 12 的 PL/Java 替代方案是啥?
C# Metro 风格中 IsSubclassOf 或 IsAssignableFrom 的任何替代方案
performSelectorOnMainThread 的 Swift 替代方案