Bonjour,
Si j'ai bien compris, tu souhaites "doubler" les flux de sortie et d'erreur.
Ainsi :
System.out renvoie vers la console ET ton JTextArea
(de même pour System.err)
On a pas trop le choix, il faut ruser
L'astuce serait de propager à des écouteurs ce que tu envoies dans les sorties standards et erreurs.
Concrètement, il faut définir un "PrintStream" (class ... extends PrintStream) qui prendra en paramètre System.out ou System.err, et surcharger toutes les méthodes "write" pour propager le message à tous les écouteurs (qui ont une méthode incomingOutputMessage(String s) ...)
Dans l'interface où on met le textarea sensé gérer le flux, on s'abonne à l'objet créé en static dans le main. Du coup, dans la méthode "incoming..." je peux donc "ajouter" au textarea ce que je reçois.
C'est tout bête, et peu gourmand !
Je te mets en lien un projet eclipse complet qui test mes propos :
ICI (une petite archive ZIP avec tout ce qu'il te faut < clic)
L'avantage, c'est qu'une fois qu'on a "setter" nos sorties (System.setOut, System.setErr), tout est récupéré, même les exceptions etc.
J'espère que ça va t'aider !
PS: les captures d'écran ne sont pas à jour, j'ai ajouté une coloration "rouge" pour le contenu du "JTextArea" d'erreur, et des "JScrollPane" pour gérer les "JTextArea".
En tout cas, ça marche bien, je garde ça de côté, ça pourra m'être utile