我编写了一个java程序,我通过命令行运行它,如“java MyProgram”
现在我想要一个具有开始,暂停和停止按钮的GUI。如何通过单击开始按钮启动该Java程序。如何暂停它以及如何阻止它?
答案 0 :(得分:4)
我认为你的程序是这样的:
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文件)标识其main()
方法应该是的“主类”在启动JAR文件时调用。
将JAR文件转换为或多或少自包含的可部署应用程序是一个更大的痛苦,并且有很多选项。 Deployment Tutorial可能是一个开始的地方。
答案 1 :(得分:1)
基本上你需要一个原生的发射器,但我无法通过“暂停”弄清楚你的意思是什么......将进程发送到睡眠状态?
我认为在类似Unix的系统中使用xdialog命令在shellcript中实现它应该非常容易。
您需要实现状态机:
有了这个,你可以循环脚本并对按钮作出反应。查看 kill 和对话框或xdialog的参考,了解有关实施的更多详细信息。
答案 2 :(得分:0)