2012-12-28 18 views
1

我有一個小的(擺動)JApplet的運行完全在Eclipse:它包含一個標籤,兩個按鈕和一個菜單,以最少的用戶交互(選擇菜單項時,該容器的顏色變化)。 我轉換這一個.jar:轉換一個JApplet的以.EXE

  • 我右鍵點擊類名(Sw3.java)
  • 選擇 「導出」,然後在 「Java」 的,那麼 「JAR文件」
  • 接下來,我選擇當前項目的名稱作爲資源出口,增加了一倍,從點擊的類別列表中的「默認包」它的下面,選擇所需的班級名稱的權利(Sw3.java)
  • 接下來,我選中「導出生成的類文件和資源「,將導出目標選擇爲」JAR文件「,並將其放在名爲」Sw3.jar「的」文檔「中。我還選擇了「壓縮JAR文件的內容」。
  • 在下一屏幕我檢查「與編譯錯誤導出類文件」和「導出類文件與編譯警告」

我聽到了正確的方式來獲得一個exe文件是一個.jar轉化成。 exe文件,所以我使用該.jar的「Launch4j」應用先前獲得的:

  • 在「基本」面板:指定的輸出文件:C:\用戶\傑裏\文件\ Sw3.exe和JAR文件: C:\用戶\傑裏\文檔\ Sw3.jar。
  • 進程優先級師範大學
  • 報頭類型:GUI
  • MIN JRE版本:1.0.0
  • 我按下 「輪」,並選擇project.xml中,並得到了成功的確認消息。

我安裝了JRE,所以.exe應該可以工作,但它不起作用。我做錯了什麼?我將首先調查.JAR是否被正確獲得,這是一個好方法,我將如何檢查?謝謝!

PS:在被建議使用的,而不是JApplet的JFrame的,我這樣做,當我雙擊以打開.exe文件仍然沒有任何反應。這讓我懷疑我描述的步驟有問題。

+1

爲什麼你犯了一個JApplet的而不是簡單的JFrame的?小蘋果是特殊的野獸,雖然它們可以在某些情況下在桌面上運行,但它們更容易被放置在網頁上(顯然它變得過時了)。 – PhiLho

+0

謝謝PhiLho,我使用JApplet的,因爲我是新的,練Swing和更舒適與而非JFrame的。但是,我在下面和自己的martijno中建議添加了一個JFrame,而且我仍然有同樣的問題。 – Sam

+1

我正在考慮使用純JFrame。我只是不知道Launch4j是否可以處理JApplet(Google搜索返回零次數,這很罕見!)。你可以嘗試使用'--l4j-debug'選項從命令行啓動exe,也許你會得到一些相關的錯誤信息。 – PhiLho

回答

2

添加一個main方法將你的小程序來把它放在JFrame內:

public static void main(String[] arg) { 
    JFrame frame = new JFrame(); 
    JApplet applet = new Sw3(); 
    frame.getContentPane().add(applet); 
    frame.pack(); 
    frame.setVisible(true); 
    applet.init(); 
    applet.start(); 
} 

在Eclipse JAR出口對話框中的「JAR包裝選項」後的屏幕(一個以「錯誤導出類文件和您在上面提到/或警告」),單擊下一個(而不是完成)。選擇「生成清單文件」,然後輸入你的主類的完全合格的(即包括包)類名:

Generate manifest with Main-class attribute from Eclipse JAR export

+0

謝謝Martijno,我添加了JApplet applet = new Sw3()的主要方法;以適應我的情況,並按照我最初的問題所述再次完成所有步驟;但我仍然看不到變化,不熟悉。如果我雙擊.exe打開它沒有任何反應。 – Sam

+1

你是否指定包含主要方法(您的applet類,可能)在jar的清單某處的類? – martijno

+0

我想我是在第三步做的,但不知道這是你所說的:[我選擇當前項目名稱作爲資源導出,加倍點擊下面的「默認包」,選擇所需的類名**(JFrame類)在右邊的類列表中。]在JAR導出的最後一步中,我還看到了默認選擇的「指定清單」並將其保留。 「從工作區使用現有清單」是第二種選擇。也許JAR生成不正確。 – Sam