Alles von Console auf JTextPane umleiten

neil123

Grünschnabel
Hallo liebe Java-Freunde,

ich würde gerne wissen, wie man einfach
1. jede Ausgabe auf der Konsole in einem JTextPane() ausgeben kann
2. jede Eingabe, die auf der Konsole geschieht, auf JTextPane() umgeleitet werden kann.

Beispiel für den 2. Punkt:

PHP:
private double eingabeDOUBLE() {
		tastatur = new BufferedReader(new InputStreamReader(System.in));
		String eingabe = "";
		double zahl;
		try {
			eingabe = tastatur.readLine();
		} catch (IOException e) {
			e.printStackTrace();
			System.out.println(e.getMessage());
			System.out.println("Falsche Eingabe");
		}
		if (eingabe.equalsIgnoreCase("")) {
			zahl = 0;
		} else {
			zahl = Double.parseDouble(eingabe);
		}
		return zahl;
	}

Bei der Zeile
eingabe = tastatur.readLine();
wird eine Eingabe erwartet. Wie kann ich das machen, dass man diese Eingabe im JTextPane() realisiert?

Ich bedanke mich im Voraus!
 
Hallo,

eventuell helfen dir

Java:
static void setIn(InputStream in)

und

Java:
static void setOut(PrintStream out)

weiter.
 
Vielen Dank.

Mit der folgenden Methode kann ich Text in das JTextPane einfügen:

PHP:
public void insertText(String text){
		try {
			getJTextPane().getDocument().insertString(getJTextPane().getDocument().getLength(), text, null);
			
		} catch (BadLocationException e) {
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
	}

Aber statt einem String text, möchte ich, dass ich im JTextPane etwas einlesen kann, indem ich etwas tippe und ENTER drücke.

WIe kann ich das mit static void setIn(InputStream in) umsetzen?

Ich bedanke mich im Voraus!
 
Wenn du eine GUI mit einem JTextArea hast, für was brauchst du dann eine Konsole?
Ich habe mal eine JTextArea verwendet, um Protokollausgaben ausgeben zu können. Um das zu tun habe ich eine Handler-Klasse geschrieben, die Logging-Aufrufe dorthin umleitet. Lies dir mal diesen Beitrag durch; sieht aufwändig aus, ist aber im Programm dann leicht von überall her nutzbar.
 
Zurück