Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jdk12中appletviewer的替代方案_Java_Applet_Awt_Java 12 - Fatal编程技术网

Java jdk12中appletviewer的替代方案

Java jdk12中appletviewer的替代方案,java,applet,awt,java-12,Java,Applet,Awt,Java 12,JDK12中是否有小程序查看器的替代品 我是Java新手,我尝试在Java中添加AWT复选框 它在JDK1.8中运行良好,但在JDK12中不运行 我在互联网上搜索,发现applet查看器已被弃用。 (小程序API已弃用,无需替换)在oracle的官方帮助网页上 我搜索这个问题,但没有得到满意的答案,所以我在这里发布 import java.applet import java.awt.*; /* <applet code="CreateCheckBox" width=200 heigh

JDK12中是否有小程序查看器的替代品

我是Java新手,我尝试在Java中添加AWT复选框 它在JDK1.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);
}
}
import java.applet
导入java.awt.*;
/*
*/
公共类CreateCheckBox扩展小程序{
公共void init(){
Checkbox checkBox1=新复选框();
复选框1.设置标签(“我的复选框1”);
Checkbox checkbox2=新复选框(“我的复选框2”);
添加(复选框1);
添加(复选框2);
}
}

它应该在JDK12中工作,因为它在JDK1.8中运行。

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

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

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

小程序应该被视为死技术

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

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

  • AWT/摆动
  • JavaFX
  • SWT
  • HTML 5
  • 等等

你说:

它应该在JDK12中工作,因为它在JDK1.8中运行


这在逻辑上是不正确的

不。重写另一种启动技术。是什么让你认为JDK12应该可以工作,仅仅因为它在JDK1.8中工作。这只是一厢情愿的想法。实际上,applet的主要问题不是jdk12。主要问题是现代浏览器不再支持小程序了。@Stephen_C我没有得到ClassDefNotFoundError。类文件正在生成,编译时没有问题。我很感激你的回答,但正如我所说,我正在学习,所以要完成一些作业,我需要使用applet。谢谢。使用Java8完成课程作业。2.在课程结束时,当他们要求匿名反馈时,指出课程正在教授不推荐的技术。让你的朋友也这样做。建议他们改教JavaFX或Android。