首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >applet浏览器不显示java applet

applet浏览器不显示java applet
EN

Stack Overflow用户
提问于 2017-09-07 17:51:04
回答 1查看 587关注 0票数 1

我正在创建一个简单的applet。我遵循“24小时Java .when”中的教程,我通过终端appletviewer helloworld.html运行apply。啊,真灵。我看到“点击我”按钮和“你好世界”,但当我打开helloworld.html浏览器( Safari,Chrome,火狐)。我没看到小程序。它只是“终点线!”我为浏览器启用了java插件,并且使用macosx

我的代码:

代码语言:javascript
复制
import javax.swing.*;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
//<applet code = Saluton width = 300 height = 300> </applet>
public class Saluton extends Applet {
    public void init() {
         Button buttons = new Button("Click me!");
         this.add(buttons);
    }
    public void paint(Graphics screen)
    {
        Graphics2D screen2D = (Graphics2D) screen;
        screen2D.drawString("Hello World",120,120);
    }
} 

和HTML文件

代码语言:javascript
复制
<head>
<title>Hello World!</title>
</head>
<body bgcolor = green text = "#FF00FF">
<center>
<applet 
    code = Saluton
    width = 300
    height = 150
>
<p>end line!</p>
</applet>
</center>
</body>
</html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-22 18:05:58

我本来是想发表意见的,但我会尽量详细解释.

TL;DR

它不能工作,因为现在大多数浏览器都不运行java小程序,没有办法绕过它,而且它是好的,不要为未来而战(2019年甚至是现在,你正在尝试使用过去的工具)。

您今天不应该使用applet,我重复一遍,,您今天不应该使用applet,。讨论结束。

长答案

这一历史是建立在古老的,轶事的基础上,也许不是那么精确的经验。

一些历史

Javascript是围绕一九九五年引入的,其他时候,Javascript更年轻,缺少库或标准之类的东西。为了解决这个问题,使用了运行外部插件的能力来运行一些更强大和更复杂的解决方案,比如闪光灯或applet。

这使得一些真正强大的应用程序,游戏等,但易于运行外部代码,加上互联网在世界上的普及,给一些危险的工具,在错误的人手中。

java人试图定义允许使用java功能的边界,即维护一个提供用户安全的沙箱,而不对java语言设置硬限制,但即使是从一开始就在浏览器中运行的Flash,也有一些非常严肃的安全问题。想象一下Java,一种设计用于在桌面上运行的语言,当然它也有一些困难问题

因此,解决方案是不够的,Sun (后来的甲骨文)和Macromedia (后来的Adobe)为这个问题投入了大量的资金和资源,但是没有尽头,黑客们没有发现新的bug的问题,而且人们没有让你的程序更新的文化,而自动更新也不是一件事情,所以现在想象一下,你是一家拥有其他大量资金的公司,需要为浏览器制作更复杂的应用程序,你做什么呢?(无须说明公司名称)

扔两吨钱然后..。CrEaTe YoUr OwN tEcHnOlGy!,也叫它微软Silverlight,与此同时,谷歌的人们尝试了其他方法,称为Dart,但通过备份计划,用Javascript强大的倒置三吨钱,创建Javascript V8,一个真正体面和令人印象深刻的Javascript语言的实现,与此同时,一些人正在努力在浏览器之间实现一些标准。

在这种情况发生的同时,开源也正在成为软件行业的主导力量,幸运的是,许多大型科技公司都在炒作,所以他们有很多善意和合作愿望,因此公司意识到,为什么我们要投入巨额的资金来攻击我们自己的私有工具,而不是改进公共工具呢?所以所有的技术都被抛弃,转而采用更多的标准(HTML5,ECMA6)。

这帮助集中了安全问题,增加了大量的库,这些库为越来越复杂的应用程序提供服务,从而促进了我们现在使用的web应用程序。慢慢地,浏览器一直支持所有这些老技术,所以您不应该在它们中进行开发。

那么,现在,什么是用于相同的任务呢?

作为工程生活中的一切,依赖于

对于您需要确保在大量设备中运行的通用应用程序,使用web应用程序,您可以使用Java作为后端,它作为服务器端语言非常强大,并且有大量的库和框架,对于前端您可以使用Vue、React或任何适合您的库。

如果您想要一些高级功能和一些非web标准硬件的访问,您还可以尝试一些工具,这些工具允许使用一个代码库创建本地应用程序,比如react本机或xamarin。

如果您只想在桌面环境中运行java,并进行简单的更新,我可以建议完全绕过浏览器,使用JNLP

允许通过使用远程web服务器上承载的资源在客户端桌面上启动应用程序。

这样你就可以使用JavaFx,Swing或者任何你喜欢的东西。

这些是一些选项,还有更多的选项(完全本机,NetFramework for windows,Qt.)但是,请再说一遍,不使用applet--它们是旧的、不安全的和折旧的。

免责声明:对不起我的英语,它不是我的主要语言,如有任何更正将不胜感激。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46102421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档