java - jdk12 中 appletviewer 的替代方案

标签 java applet awt java-12

JDK12 中有小程序查看器的替代方案吗?

我是 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 中运行。

最佳答案

官方没有办法在 Java 11 或更高版本上运行小程序:

  • appletviewer 应用程序已被删除。
  • 小程序所依赖的 java.applet.* 类已被删除。

    更正:他们还没有这样做,但我预计他们很快就会这样做。

小程序应该被视为死技术。

您可以想象实现您自己版本的appletviewer类,并将它们与您的applet代码一起放入一个JAR文件中。它应该有效。然而,这是一个坏主意。小程序的主要用例是将 Java 嵌入到网站中,但这行不通,因为现代浏览器不再支持 Java 插件。 (事实上​​,许多最新的浏览器主动阻止 Java 插件!)

最好的办法是使用不同的技术重写小程序,具体取决于它们的用途:

  • AWT/ Swing
  • JavaFX
  • SWT
  • HTML 5
  • 等等

你说:

It should work in JDK12 because it runs in JDK1.8.

这在逻辑上是不正确的。

关于java - jdk12 中 appletviewer 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57232344/

相关文章:

java - 如何让我的 JFrame 位于屏幕顶部?

Java graphics2D fillRect 不能正确处理半透明颜色

java - 尝试将新数据添加到我的表之一时出错

php - 以编程方式上传文件

java - 使用 Junit 比较数组元素

java - 为什么我不能用我的类的实例创建新线程?

java - 如何每秒改变圆圈的颜色

java - 如何在 Canvas 上用 SWT 画一 strip 箭头的线

java - Redis中如何实现Round-Robin?

java - 从 Java 应用程序将文件上传到 OneDrive