2013-07-30 40 views
0

我試圖從Applet對象中創建一個框架GUI(桌面窗口)而不創建它。運行沒有main方法的Java程序?

我有一個編譯錯誤。

我的問題是,創建桌面GUI框架的唯一方法是使用主要方法,如桌面應用程序?

還是有辦法來創建一個類似與init()start()paint(),等...方法創建一個小應用程序的框架?

我的代碼:

import java.awt.*; 
import java.applet.*; 
import java.awt.event.*; 


class PilotinoGui extends Frame { 
    PilotinoGui(String title) { 
     super(title); 
    } 
    public void paint(Graphics g) { 
     g.drawString("This is stringggg", 10, 40); 
    } 

} 

錯誤消息:

Error: Main method not found in class 
zetariemann.com.pilotino.PilotinoGui, please define the main method as: 
     public static void main(String[] args) 
+0

http://journals.ecs.soton.ac.uk/java/tutorial/getStarted/application/main.html – m0s

+0

1)爲什麼選擇AWT而不是Swing?在[Swing extras over AWT]上看到這個答案(http://stackoverflow.com/a/6255978/418556)有很多很好的理由放棄使用AWT組件。如果您需要支持較老的基於AWT的API,請參閱[混合重量級和輕量級組件](http://www.oracle.com/technetwork/articles/java/mixing-components-433992.html)。 2)畫到一個'BufferedImage',顯示在'JLabel'中。如果它改變,調用'label.repaint()'。例如。如[本答案](http://stackoverflow.com/a/10628553/418556)中所見。 .. –

+0

.. 3)不要延長框架或其他頂層容器。而是創建並使用一個實例。 4)對於部署Java桌面應用程序,最好的選擇通常是安裝應用程序。使用[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)。 JWS適用於Windows,OS X和* nix。 –

回答

4

當你 編譯 運行代碼,編譯器搜尋SEARCH_TERM_EXAMPLES主要方法,這意味着沒有main方法,你不能去,因爲創作的運行時對象,也許你的代碼在編譯時編譯,但那是別的。

因此,如果沒有主要方法,無法運行應用程序。

+0

好吧,但這不適用於小程序,它們沒有主要方法。小程序是一個例外嗎? – Luther

+3

@Luther:是的,因爲Applet不是應用程序,請閱讀[** Applet **的生命週期](http://docs.oracle.com/javase/tutorial/deployment/applet/lifeCycle.html), [它從一個文件加載,然後通過初始化,啓動,運行,停止,並最終被銷燬它的生命週期繼續](http://stackoverflow.com/questions/8610475/java-applet-runs-without-a -main-method) – Azad

+1

** Applets與獨立Java應用程序的不同之處在於它們不需要實現主要方法** http://stackoverflow.com/questions/8610475/java-applet-runs-without- a-main-method – jsedano

0

正如在其他的答案中指出,你需要有一個主要的方法:

public static void main(String []args) 
{ 
    PilotinoGui pg = new PilontinoGui(); 
    pg.setVisible(true); 
} 

我會建議使用JFrame而不是Frame。

import javax.swing.JFrame; 

java.awt.Frame的擴展版,它增加了對 JFC/Swing組件架構的支持。您可以在「Java教程」中的 「如何製作幀」部分找到面向任務的 有關使用JFrame的文檔。

文檔瀏覽:http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html

+0

我不想使用鞦韆,對不起,我應該說這個 – Luther

+0

爲什麼你不想使用它? – jsedano

+0

因爲我正在使用AWT – Luther

1

添加

​​

爲主要方法在類

相關問題