Example #1
0
  public synchronized void finish() {
    if (!canceled) returnCode = process.exitValue();
    stdoutThread.interrupt();
    stderrThread.interrupt();

    if (keepWindow) btnCancel.setText("OK");
    else setVisible(false);
  }
Example #2
0
  public void run(String[] command, String directory, String caption, boolean keepWindow)
      throws IOException {
    this.setTitle(caption);

    this.keepWindow = keepWindow;
    btnCancel.setText("Cancel");

    returnCode = -1;
    canceled = false;
    setModal(true);

    ProcessBuilder pb = new ProcessBuilder(command);
    pb.directory(new File(directory));

    process = pb.start();

    waitThread = new WaitThread();
    waitThread.start();

    txtStdout.setText("");
    txtStderr.setText("");

    // BufferedReader kozo = new BufferedReader ( new InputStreamReader( process.getInputStream()),
    // 1);
    // stdoutThread = new StreamReadThread(kozo, txtStdout);
    //	kozo = new BufferedReader ( new InputStreamReader( process.getErrorStream()), 1);
    //	stderrThread = new StreamReadThread(kozo, txtStderr);

    stdoutThread = new StreamReadThread(process.getInputStream(), txtStdout);
    stderrThread = new StreamReadThread(process.getErrorStream(), txtStderr);

    stdoutThread.start();
    stderrThread.start();

    setVisible(true);
  }