2011-03-23 56 views
0

我目前正在爲我的團隊開發多個項目管理應用程序,並將這些應用程序分發爲JAR,現在可以。但是我被要求制定一箇中央應用程序來啓動它們。Java:中央應用程序

基本上是一個小應用程序,爲我已經制作的每個應用程序提供一個按鈕,當您單擊該按鈕時,它會啓動相應的應用程序。除了一點,我設法做了所有事情。 我將我的JAR包含在構建路徑中,然後通過創建Main類的實例來啓動它們。這實際上是有效的,但是當我想關閉一個窗口時,它關閉了所有的窗口......

任何人都有這個想法嗎?

謝謝

回答

0

找到了!我在(擴大JFrame),每個應用程序的主類有這樣的:

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

我把它改爲:

this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 

現在這個工作。

感謝您的幫助

1

正在啓動使用另一個Java應用程序?如果是這樣,窗口關閉事件可能會觸發System.exit();你可以發佈一些代碼嗎?

還可以考慮使用Webstart並提供指向網頁中應用程序的鏈接。 因此,用戶可以打開該頁面,Webstart可以下載並啓動應用程序。

+0

重點是有一個應用程序啓動器,而不是一個網頁。 – 3rgo 2011-03-23 13:37:53

+0

問題是這個應用程序啓動器是否真的有必要。如果這是一個很難的要求,那麼確定。查找'System.exit()'(或者捕獲窗口關閉事件)或者嘗試Russ的方法。 – Thomas 2011-03-23 13:40:46

3

您需要通過啓動新進程在不同的VM中運行新的應用程序。像這樣:

new ProcessBuilder("java", "-jar", "EXECUTABLE.JAR").start() 

如果Java在你的路徑。

+0

這樣,我可以啓動位於我的構建路徑中的JAR嗎? – 3rgo 2011-03-23 13:38:26

+0

我不確定你的構建路徑是什麼意思。你是否將應用程序的罐子嵌入發射器的罐子中? – 2011-03-23 13:58:30

+0

是的,爲了簡化分配過程 – 3rgo 2011-03-24 11:10:23