2012-09-16 41 views
1

我有一個很久以前最初用JBuilder構建的applet。直到最近,我相信它的運行良好。它已停止工作。我已經將它導入到Eclipse進行調試,並且發現public static void main()未被調用。這可以解釋applet的崩潰。Java小應用程序不再調用public static void main()

我的直覺是,新的JVM不會爲小程序調用public static void main()。任何人都可以對此有所瞭解嗎?

+2

你是對的。 – SLaks

+0

你能告訴我們你試過了哪個JVM嗎? –

+0

我相信我在電腦上的JRE是1.7.0_07。我不知道從哪個版本開始發生。 – Hong

回答

2

Java Applet需要​​。小程序沒有任何main

+1

這意味着我們在過去的日子 - 一個Applet和應用程序 - 不再可用。 http://www.heatonresearch.com/articles/18/page6.html – Hong

+1

哇,我不知道。但是AFAIK並不需要它,因爲瀏覽器可以調用applet方法,這意味着main不一定是入口點。因此,如果按下單擊新選項卡並返回到帶有小程序的選項卡,則小程序會調用start()而不是init()(或主體,因爲它是) –

+1

*「以前我們有什麼 - 一個Applet和應用程序 - 不再可用。「*垃圾。它被稱爲混合動力,並且活得很好。如果您想澄清問題,請另行諮詢。 –

1

main()方法通常用於應用程序。您需要在初始化時進行的任何呼叫應該放在:

public void init() 

在您的小程序中。

1

我的預感是新的JVM不會爲applet調用public static void main()。任何人都可以對此有所瞭解嗎?

要追溯到1997年我所知,沒有VM曾經呼籲main()的小程序。

+0

我認爲你是對的。 main()是爲applet創建的,以防它作爲應用程序運行。我認爲它被調用是因爲我注意到main中有一些初始化代碼(不是自動生成的)。我已經通過將JBuilder項目導入到Eclipse中,用JApplet替換了Applet並進行了一些其他更改來解決了問題。我不確定哪一步可以解決問題。 – Hong

相關問題