【问题标题】:Java applet does not call public static void main() anymoreJava 小程序不再调用 public static void main()
【发布时间】:2012-09-08 23:43:10
【问题描述】:

我有一个很久以前最初用 JBuilder 构建的小程序。我相信它直到最近都运行良好。它已停止工作。我已经将它导入到Eclipse中调试,发现public static void main()没有被调用。这可以解释小程序崩溃的原因。

我的直觉是,较新的 JVM 不会为 applet 调用 public static void main()。有人可以对此有所了解吗?

【问题讨论】:

  • 你能告诉我们你尝试过哪个JVM吗?
  • 我相信我电脑上的 JRE 是 1.7.0_07。我不知道这是从哪个版本开始发生的。

标签: java applet main


【解决方案1】:

Java 小程序需要applet lifecycle。小程序没有任何main

【讨论】:

  • 这意味着我们过去所拥有的——小程序和应用程序——不再可用。 heatonresearch.com/articles/18/page6.html
  • 哇,我不知道。但是 AFAIK,它不需要,因为浏览器可以调用 applet 方法,这意味着 main 不必是入口点。因此,如果您点击一个新选项卡并返回到带有小程序的选项卡,小程序会调用 start() 而不是 init()(或原来的 main)
  • “我们在过去拥有的东西 - 小程序和应用程序 - 不再可用。” 垃圾。它被称为混合体,并且活得很好。如果您需要澄清,请提出一个单独的问题。
  • @AndrewThompson 你能在这里解释一下或添加一些链接吗?我也想知道。谢谢
  • @AndrewThompson 我现在就问。
【解决方案2】:

main() 方法通常用于应用程序。您需要在初始化时进行的任何调用都应该放在:

public void init()

在您的小程序中。

【讨论】:

    【解决方案3】:

    我的预感是,较新的 JVM 不会为 applet 调用 public static void main()。有人可以对此有所了解吗?

    据我所知,可以追溯到 1997 年,没有VM 曾经为小程序调用过main()

    【讨论】:

    • 我认为你是对的。 main() 是为小程序创建的,以防它作为应用程序运行。我认为它被调用是因为我注意到 main.js 中有一些初始化代码(不是自动生成的)。我已通过将 JBuilder 项目导入 Eclipse、用 JApplet 替换 Applet 并进行一些其他更改来解决此问题。我不确定哪个步骤解决了问题。
    猜你喜欢
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 2011-02-23
    • 1970-01-01
    相关资源
    最近更新 更多