Newer
Older
KisoJikkenNWP / src / main / java / istlab / KisoJikken / ConsoleTest.java
package istlab.KisoJikken;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class ConsoleTest extends JFrame implements Runnable {
    JTextArea jta;
    Thread thread;
    int cnt;

    public ConsoleTest() {
        super("ConsoleTest");
        jta = new JTextArea();
        // jta.setLineWrap(true);
        getContentPane().add(new JScrollPane(jta));
        setSize(500, 200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        thread = new Thread(this);
        thread.start();
    }

    public static void main(String[] arg) {
        new ConsoleTest();
    }

    @Override
    public void run() {
        Process process;

        // ProcessBuilder processBuilder = new ProcessBuilder("ls", "-R");
        ProcessBuilder processBuilder = new ProcessBuilder("ping", "localhost");
        // ProcessBuilder processBuilder = new ProcessBuilder("pwd");
        // processBuilder.directory(new File(App.userhome + App.nwpsrc));
        // processBuilder.inheritIO();
        try {
            process = processBuilder.start();
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                jta.append(line + "\n");
                int len = jta.getDocument().getLength();
                jta.setCaretPosition(len);
            }
            // process.waitFor();
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        // while (thread != null) {
        // jta.append("count: " + cnt + "\n");
        // int r = new Random().nextInt(20, 100);
        // for (int i = 0; i < r; i++) {
        // jta.append("*");
        // }
        // jta.append("\n");
        // cnt++;

        // int len = jta.getDocument().getLength();
        // jta.setCaretPosition(len);

        // try {
        // Thread.sleep(1000);
        // } catch (InterruptedException e) {
        // e.printStackTrace();
        // }
        // }
    }
}