Imprimindo um Java InputStream de um processo

UPDATE: I found a crucial part to why this probably isn't working! I used System.setOut(out); where out is a special PrintStream to a JTextArea

Este é o código, mas o problema que estou tendo é que a informação é impressa apenas depois que eu termino o processo.

public Constructor() {
    main();
}

private void main() {
    btnStart.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                ProcessBuilder builder = new ProcessBuilder("java", textFieldMemory.getText(), "-jar", myJar);
                Process process = builder.start();
                InputStream inputStream = process.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream), 1);
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    System.out.println(line);
                }
                inputStream.close();
                bufferedReader.close();
            } catch (IOException ioe) {
                ioe.printStackTrace();
            }
        }
    });
} 

Saída atual:

Line 1
Line 2
Line 3
Line 4
Line 5

Esta é a saída correta, mas está sendo impressa apenas como um grande bloco quando eu termino o processo.

Alguém sabe qual é o problema? Se assim for, você pode me ajudar a explicar por que isso está acontecendo, obrigado antecipadamente.

questionAnswers(2)

yourAnswerToTheQuestion