java - 如何启动一个java程序?

标签 java user-interface

我写了一个 java 程序,我通过命令行运行它,比如“java MyProgram”

现在我想要一个具有开始、暂停和停止按钮的 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可能是一个起点。

关于java - 如何启动一个java程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1508313/

相关文章:

java - 如何将字符串转换为 ArrayList?

java - 找不到符号错误,类型不兼容

java - 如何从另一个类执行一个类的方法?

Delphi控件可以模仿Firefox的 "Add-ons|Extension list"吗?

java - 基于packagewise在Maven中创建jar文件

java - 在Hbase中存储图片丢失Meta数据和Exif

java - 在eclipse之外运行jboss

java - 当具有 2 层时,FrameLayout 无法正确处理触摸请求

jQuery 动画故障 : functions fire in wrong order when mousing across to quickly

java - 在工作线程中读取 GUI 对象数据