我已經寫了一個Java程序,我正在通過命令行運行它,如「java我的程序」如何啓動一個java程序?
現在我想有一個GUI,有一個開始,暫停和停止按鈕。如何通過點擊開始按鈕啓動該Java程序。如何暫停以及如何停止它?
我已經寫了一個Java程序,我正在通過命令行運行它,如「java我的程序」如何啓動一個java程序?
現在我想有一個GUI,有一個開始,暫停和停止按鈕。如何通過點擊開始按鈕啓動該Java程序。如何暫停以及如何停止它?
我假設你的程序是這樣的:
public class MyProgram {
public void doSomething() {
// ... does something ...
}
public static void main(String[] args) {
new MyProgram().doSomething();
}
}
我建議你閱讀Swing Tutorial,但一個簡單的GUI來啓動你的程序可能是這樣的:
public class MyProgramLauncher {
public static void main(String[] args) {
final MyProgram myProgram = new MyProgram();
JFrame frame = new JFrame("My Program");
JComponent cp = frame.getContentPane();
cp.add(new JButton(new AbstractAction("Start") {
public void actionPerformed(ActionEvent e) {
myProgram.doSomething();
}
}));
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
如果您的班級有pause()
功能,您可以添加一個類似的JButton
來調用該功能,但喲我們必須編寫/實現該功能。
然而,你必須用java MyProgramLauncher
來啓動它,這並不是很令人興奮。不過,這將爲您提供一個基本的GUI,您可以在其中嘗試啓動,暫停等。
要將程序變成可以雙擊的程序,您需要創建一個JAR file。這基本上是一個特殊的ZIP文件,其中包含應用程序中的所有類,另外還有一個manifest.xml
文件,它描述了這些類和(對於可啓動的JAR文件)標識了在啓動JAR文件時應調用main()
方法的「主類」。
要將該JAR文件轉換爲或多或少自包含的可部署應用程序是一個更大的麻煩,並且有很多選項。 Deployment Tutorial可能是一個開始的地方。
基本上你需要一個本地啓動器,但我無法弄清楚你的意思是什麼「停頓」......發送進程睡覺?
我認爲應該很容易在Unix系統中使用xdialog命令使用shellcript實現。
你需要實現一個狀態機:
有了這個,你可以循環腳本和反應按鈕。請參閱kill和對話框或xdialog以獲取有關實施的更多詳細信息。
本地啓動器是沒有必要的。可執行文件.jar工作得很好,並不會人爲地限制平臺兼容性。 – 2009-10-02 08:48:01
但它沒有按鈕,只是啓動應用程序......他需要一些圖形 - 啓動 - (不是在啓動後)他的應用程序,對吧? – fortran 2009-10-02 12:33:57
我認爲這解決了一個不同的問題... – fortran 2009-10-02 08:44:19