【问题标题】:How to call an applet from another class's main method?如何从另一个类的主方法调用小程序?
【发布时间】:2014-04-14 10:38:12
【问题描述】:

请耐心等待,因为我并不精通 Applet 在 Java 中的工作方式。 我创建了一个在小程序中运行的视频游戏,包目录中还有其他游戏对象类和图像文件。我想创建一个可执行的 .jar 来运行小程序,但 eclipse 要求启动配置,所以我假设我需要另一个类来处理初始化小程序以及小程序可能需要的任何其他内容。

我该怎么做呢?

【问题讨论】:

  • 小程序在网络浏览器中运行。
  • 如何将小程序放到网络浏览器上?
  • 您是如何创建小程序的?为什么选择小程序? google 坏了吗?
  • 为什么要编写小程序?如果是由于规范。老师请发给Why CS teachers should stop teaching Java applets

标签: java jar applet


【解决方案1】:

这是两个不同的概念:

  1. 由 main() 方法启动的普通 java 程序(可以通过调用类、可执行 jar、exe 文件来执行 - 有很多可能性...)
  2. 在网络浏览器中运行的 Java 小程序,由网络浏览器的 java 插件管理,受applet lifecycle 约束。

所以基本上你必须决定什么对你来说很重要:

  1. 您想在网络浏览器中运行您的游戏吗? (-> 然后写一个小程序)
  2. 您想要一个独立的应用程序吗? (以类文件、可运行 jar 或 exe 的形式)
  3. 您想要两者兼得吗?还有一些方法可以做到这一点:
    • 如果您实现了一个小程序,那么您还可以将 main() 方法和必要的信息添加到Manifest。然后当有人启动您的 applet.jar 时,您的游戏也会启动
    • 有一种方法可以编写draggable, offline 小程序。基本上,您可以将您的小程序拖放到桌面上并通过双击它来启动它 - 即使没有互联网连接

【讨论】:

    【解决方案2】:

    Applet 是提供特定生命周期的面板(请参阅 Applet 类扩展面板),以便您可以将它们附加到 Web 浏览器并且浏览器触发生命周期方法。 如果你想在网络浏览器之外运行一个小程序,你需要提供另一个“窗口”来附加它,并提供一种触发生命周期方法的方法。

    您可以将普通的 java Frame 作为“主窗口”并将小程序添加到其中。 然后调用applet的init方法来启动它。

    要对小程序的生命周期进行更细粒度的管理,您可能需要编写自己的 AppletContext。

    这里有一个基本示例,请参阅我的答案(这个使用 JApplet,但 Applet 的概念是相同的):Java JApplet to JFrame

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2016-01-08
      • 2011-08-08
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多