# System.out.println



## e9926044 (20. Feb 2007)

Hallo nochmal,


Kann ich System.out.println(); irgendwie umleiten, sodass die Ausgaben in meinem JTextArea landen. Ich hab noch keinen Weg gefunden, wie ich sämtliche Ausgaben, welche ich auf die Konsole der Enwicklungsumgebnung schreibe, in mein JTextArea bekomme. Auf die Konsole gebe ich alles mit System.out.println aus.
Gibts da vielleicht einen Weg den Stream in mein JTextArea darzustellen?

Vielen DANK für Eure Antworten!!


lg
Hannes


----------



## Wildcard (20. Feb 2007)

Du kannst out auf einen PrintWriter deiner Wahl umleiten.


----------



## e9926044 (20. Feb 2007)

und wie geht das?

bzw hätte ich schon eine Lösung aber eine sehr langsame, ich schreibe an den Stellen, wo ich etwas ins TextFeld schreiben will ein 
	
	
	
	





```
TextFeld.setText("Text der ins Textfeld gehört")
```
, Das wird auch ausgegeben aber erst wenn mein Programm die Arbeit verrichtet hat wird der Text hineingeschrieben, Das Ausführen des Programms dauert dadurch so lange, dass diese Lösung inakzeptabel ist.
Gibts einen Befehl, welcher den Text gleich ins TextFeld schreibt und nicht erst zwischenspeichert bzw. wie leite ich out um und wird dann auch gleich ins TextFeld geschrieben?

Fragen über Fragen ich weiß.

Vielen herzlichen DANK für Eure Antworten!!

lg
Hannes


----------



## Leroy42 (20. Feb 2007)

e9926044 hat gesagt.:
			
		

> Das wird auch ausgegeben aber erst wenn mein Programm die Arbeit verrichtet hat wird der Text hineingeschrieben



Du mußt dein Ausführungsteil in einen separaten Thread legen, sodaß die GUI
die Möglichkeit hat, dein Textfeld auch zu aktualisieren.

Ich verstehe allerdings überhaupt nicht was Textfelder (Swing) mit
System.out (Konsole) zu tun haben.  ???:L


----------



## mephi (20. Feb 2007)

du musst auch nicht das System.out.println() umleiten. wenn du es kürzer als da oben haben willst schreib dir eine eigene methode zB

```
public void write(String s) {
 meinTextFeld.setText(meinTextFeld.getText+s);
}
```

so das war nun ausm kopf heraus. hoffe das stimmt


----------



## JFreak (20. Feb 2007)

Du kannst auch von OutputStream dir einen (J)TextAreaOutputStream ableiten. Dann kann deine Klasse einen OutputStream übernehmen.

Beispiel:

```
OutputStream os; // Im Konstruktor setzen
//...
void doOutput(String s) {
  os.write(s.getBytes()); // so hieß das glaub ich
}
```


----------

