如何在 HTML 页面加载时使用 JFrames 打开 Applet

Posted

技术标签:

【中文标题】如何在 HTML 页面加载时使用 JFrames 打开 Applet【英文标题】:How to Open Applet with JFrames on HTML page load 【发布时间】:2013-08-26 04:46:53 【问题描述】:

我是 Java 新手。我有一个带有 JFrames 的 java 小程序。它在Tomcat上运行。我想在负载上打开它。我可以使用一个按钮运行它,该按钮将发布在 servlet 上,servlet 将调用 applet 类并调用 init() 方法。我还需要将我的小程序类导出到 .jar 而不是使用它的 java(.class) 文件吗?

我应该在 html 上这样称呼它吗?

< applet codebase="" code="" archive=""  > 
</applet>

在代码库中添加什么?代码?存档?

提前致谢!

【问题讨论】:

servlet 不会调用 Java 类。小程序在客户端,在浏览器中执行。 Servlet 在服务器端执行。阅读小程序教程:docs.oracle.com/javase/tutorial/deployment/applet 您好感谢您的回复@JBNizet 我使用 JFrames 在我的系统中创建了上传文件功能。我的问题是它在服务器上打开,我需要它在客户端打开。也许是因为我的 servlet 是调用 Upload 类的那个。我做了一些搜索,他们说我需要将我的 Jframe 转换为 Applet。我已经对我的班级进行了一些更改以在小程序中进行。但我不知道下一步该做什么。感谢您的帮助! 正如我所说:servlet 是 Web 应用程序的一部分。小程序是客户端应用程序的一部分。这些应用程序完全不同,servlet 甚至不应该在其类路径中包含 applet 类。 applet jar 文件只是 webapp 中可供下载的文件,就像图像或 CSS 文件一样。阅读教程。 @JBNizet 最后一个问题.. 所以小程序是一个独立的应用程序?它的所有组件都必须在它的 jar 文件中,对吗?例如它与数据库的连接、函数和方法?我对吗?先生非常感谢您!这对我很有帮助。 小程序确实几乎就像在浏览器中运行的独立应用程序。它通常不连接到数据库,而是使用 HTTP 与它所来自的服务器进行通信,该服务器本身连接到数据库。 【参考方案1】:

我希望这个link 将有助于开始。

我还需要将我的小程序类导出到 .jar 而不是使用它的 java(.class) 文件吗?

是的,你知道。

servlet 将调用applet 类并调用init() 方法

不,不会。您的 applet jar 将下载到您的客户端计算机上,然后您的 Web 浏览器中的 java 插件将管理它的生命周期。

【讨论】:

【参考方案2】:

我使用 JFrame 在我的系统中创建了上传文件功能。我的问题是它在服务器上打开,我需要它在客户端打开。

轻松搞定。使用 Java Web Start 从链接启动框架。

使用 Java Web Start 是否比创建小程序更容易?

是的。 (我只是想回答“是”,但觉得这并没有真正涵盖我对此事的坚定信念。)

..Java Web 应用程序中的 Java Web Start 应用程序有什么不同吗?因为我的 JFrames 在 Java 应用程序中由我的 Servlet 调用和处理。我有一个现有的 Web 应用程序(它是一个序列号跟踪系统),我正在向它添加一个上传文件到数据库功能。

servlet 是网络应用程序的一部分。桌面客户端是 JFrame - 使用 Java Web Start 从 Web 应用程序中的链接启动。客户端桌面应用程序。可以使用 Web 应用程序的服务。 (例如显示从中获得的数据)或访问网络应用程序的其他公共 API。 (例如搜索、下订单、保存已编辑的资源……)。

..我可以从我的 JFrame 启动 JFileChooser 吗?

是的。如果应用程序。经过数字签名,启动文件请求/被授予all-permissions

或者,使用File Services of the JNLP API。但他们不使用标准JFileChooser。更重要的是,它们返回 FileContents 对象而不是 File

【讨论】:

您好 Andrew 先生,我已经签署了我的 Jar 文件,但仍然无法打开 JNLP 字段选择器。我在这里能错过什么?谢谢! “JNLP 字段选择器无法打开。” 我认为您应该就此提出另一个问题。在将 JNLP 添加到新问题之前,请务必使用 JaNeLA 验证 JNLP。 它现在打开了,先生,哈哈哈谢谢JaNeLa。只是因为我的 JNLP 文件。 很高兴你把它整理好了。 :)

以上是关于如何在 HTML 页面加载时使用 JFrames 打开 Applet的主要内容,如果未能解决你的问题,请参考以下文章

Java:可点击的网格项目 - 使用什么? (JFrames和JPanels)?

jFrames被这段代码冻结了吗? (附代码):Netbeans 8.2

如何在没有 jquery 的情况下在 Angular 中的页面加载时自动打开 HTML 日历

如何在使用 QWebEngineView 'loadFinished' 加载页面后立即更改 html 元素?

如何在页面加载时按字母顺序对 HTML 列表的内容进行排序? [复制]

如何在页面加载时更改 HTML 内容