Mostrar saída do terminal numa aplicação desktop

Pessoal, gostaria de saber se é possivel simular um terminal do sitema numa aplicação que ultiliza swing em java, já que é possivel executar comandos do sistema. Tipo eu queria mostrar num JTextArea a saida de um “ping” por exemplo. No caso eu coloquei a saida padrão do sistema como sendo a JTextArea, como abaixo:

[code]
OutputStream out;
public void Inicia(){
out= new OutputStream(){

           public void write(byte[] b){
               for(int i=0; i<b.length; i++){
                   write(b[i]);
               }
           }

           public void write(int i){
             jTextArea1.append(Character.toString((char) i));
           }


       };

System.setOut(new PrintStream(out));
}[/code]

Daí se eu der um System.out.println(); Ele realmente imprime na Jtextarea, porém se eu fizer:

[code]Runtime r = Runtime.getRuntime();
Process p;

    try {
        p = r.exec("ping 192.168.254.254");
        p.waitFor();
    } catch (IOException ex) {
        System.out.println("Erro na execucao do comando:\n" + ex.getMessage());
    } catch (InterruptedException ex) {
        ex.printStackTrace();
    }[/code]Ele não imprime o que seria mostrado no terminal. Alguém pode me ajudar? 

>