Ich habe derzeit ein Programm, das Textzeilen auf verschiedene Arten wie zum Beispiel 'System.out.println ()' Anweisungen auf den Bildschirm druckt und für das loop das Drucken aller Elemente in einem Array zum screenen macht.
Ich füge jetzt eine GUI zu diesem Programm hinzu. Mein Problem ist, dass ich alles, was auf der Eclipse-Konsole gedruckt wird, stattdessen in eine Textbox in meiner GUI drucken möchte. Ist das möglich und wenn ja, wie würde ich das tun?
Vielen Dank im Voraus.
Sehen Sie sich diesen Blogartikel mit dem Titel Redirect System.out und System.err an zu JTextPane oder JTextArea . Es beschreibt fast alles, was Sie brauchen.
Die Grundidee ist, dass Sie Ihren eigenen spezialisierten Ausgabestrom erstellen. In Ihrer Implementierung der Methoden write()
rufen Sie Code auf, um die neuen Daten an Ihr Textfeld anzufügen. Dann legen Sie diesen neuen Ausgabestream als System.out
fest, indem Sie System.setOut()
oder System.setErr()
aufrufen.
HINWEIS: In diesem Artikel fehlt eine Sache. Sie müssen Ihr Programm in einem separaten Thread starten .
Eine Idee:
Erstellen Sie Ihren eigenen PrintStream, der alles an diese Textbox ausgibt. Dann setze diesen neuen PrintStream als Standard-Ausgabe Stream wie folgt:
%Vor%Tags und Links eclipse java user-interface