2009-11-27 8 views

Répondre

11

Les versions de Java depuis 1.5 ont System.setOut() ce qui vous permet d'installer votre propre PrintStream. Il suffit de créer un simple OutputStream qui ajoute les données qu'il obtient à travers write() Puis enveloppez-le dans un PrintStream et installez-le.

+0

+1, battu moi –

+0

merci, c'est tout :). – Pedro

-1

Je suppose que vous pourriez potentiellement utiliser une forme de AspectJ pour le faire, mais je pense que cela peut être exagéré. Ce que je ferais cependant est de créer une méthode qui serait à la fois imprimer et ajouter.

public void printAndAppend(String text) { 
     System.out.println(text); 
     textArea.append(text); 
} 

Vous pouvez juste faire une recherche globale et remplacer pour System.out.println et le remplacer par printAndAppend

+0

qui fonctionnerait, mais je ne veux pas toucher tout ce genre de choses existant .. – Pedro

0

Je ne pense pas qu'il y ait un moyen simple. J'essaie généralement d'éviter System.out appels dans mon code pour exactement ce genre de raison. Si vous avez une méthode comme (par exemple) MyUtil.myOutput() alors vous pouvez faire un seul changement et réacheminer où vous voulez

+0

oui, il est plus pour faire face à des choses de l'héritage que j'ai ici .. Bien sûr, si je le ferais de Stratch, j'utiliserais log4j – Pedro

1

Eh bien vous pouvez le faire en utilisant la méthode jTextArea.append("Your String")