Möchte gern den Konsolen Output auf JTextPane umleiten

Würde gern ein Programm schreiben, dass seinen Output aber nicht auf der Konsole ausgibt, sondern in einem JTextFrame mit einem JTextPane. Geht das? Kann man ein Fenster so einstellen, dass man den Textoutput nach dahin ganz normal zeilenweise umleiten kann? Mir ist für das JTextPane leider nur die Methode .setText bekannt.
Ansonsten bliebe mir nur der Aufruf des .jar Programms mittels .bat Datei auf der Windows Konsole.
Java:
.bat-Datei:
mode 800
java -jar JavaStart.jar
cmd.exe

Java:
import java.util.Scanner;

public class SternDreieck {
    public static void main(String[] args) {
    DreieckZeichnen();
    }
    static void DreieckZeichnen() {
        String starx;
        starx = "*";
        int anzahl = 20;
        System.out.println("Bitte Anzahl der Sterne für das Dreieck angeben:");
        Scanner myScanner = new Scanner(System.in);
        anzahl = myScanner.nextInt();
        System.out.println(starx);
        for (int i = 1; i <= anzahl; i++) {
            starx = starx + "*";
            System.out.println(starx);
        }
    }
}
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Naja so aufwendig ist das letztendlich nicht du setzt einfach den output vom Systemoutput anstelle der Konsole auf einen PrintStream welches die Daten in ein ByteArray Schreibt , welches du dann in einer beliebiegen Form / Visualisierung darstellen kannst :)

So wird alles was normalerweise in den Systemoutput gelangt in dein PrintStream geschrieben / abgefangen und landet in dem ByteArray.
 
Zuletzt bearbeitet:

turtle

Top Contributor
Du musst via ProcessBuilder dein Kommando starten und die Ausgabe (und den Error) lesen.

Diese Liste kannst du dann in deine TextPane oder ein anderes Kontroll pumpen.

Wie das ungefähr gemacht wird, habe ich mal in folgendes Mini-Programm gegossen. Führt einfach "nur" ein dir-befehl und zeigt Standard-Output in einer JTextArea an.
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JTextArea;

public class ProcessTest {

    public static void main(String[] args) throws IOException, InterruptedException {
	JFrame frame = new JFrame("Dir Ausgabe");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	JTextArea console = new JTextArea();
	frame.add(console);
	ProcessBuilder pB = new ProcessBuilder("cmd.exe", "/c", "dir");
	Process p = pB.start();
	InputStream inputStream = p.getInputStream();
	InputStream errorStream = p.getErrorStream();
	List<String> listOutput = dump(inputStream);
	dump(errorStream);
	p.waitFor();
	for (String string : listOutput) {
	    console.append("\r\n" + string);
	}
	frame.pack();
	frame.setVisible(true);
    }

    private static List<String> dump(InputStream inputStream) throws IOException {
	List<String> listOutput = new ArrayList<>();
	BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
	String line = null;
	while ((line = bufferedReader.readLine()) != null) {
	    listOutput.add(line);
	}
	return listOutput;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
N Erste Schritte HelloWorld möchte einfach nicht laufen Java Basics - Anfänger-Themen 11
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
L Anfängerin möchte Linie zeichnen Java Basics - Anfänger-Themen 8
I erstelle Vorschaubild mit der lib PDF-Renderer und möchte danach Dateiname ändern -> geht aber nicht Java Basics - Anfänger-Themen 0
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
X Möchte JAVA Lernen Java Basics - Anfänger-Themen 23
A Interface Ich möchte eine Zeichenumgebung Java Basics - Anfänger-Themen 16
S Schleife möchte nicht funktionieren Java Basics - Anfänger-Themen 5
A Möchte mich vorstellen Java Basics - Anfänger-Themen 24
K Ich möchte in einem Text Editor cut, copy ,paste einfügen! Java Basics - Anfänger-Themen 2
E PopupMenu öffnet nicht so wie ich möchte Java Basics - Anfänger-Themen 2
M möchte in konstrukturaufruf eine bedingte anweisung haben. Java Basics - Anfänger-Themen 6
T Möchte ein neues Objekt erzeugen mit Wert von anderem Objekt Java Basics - Anfänger-Themen 9
T Möchte Charwert 23C° mit java.util.Scanner einlesen macht Pr Java Basics - Anfänger-Themen 2
X Habe Set, möchte List Java Basics - Anfänger-Themen 3
G Möchte Java verstehen Java Basics - Anfänger-Themen 11
A Möchte Java - Chat in meine Homepage einbinden. Java Basics - Anfänger-Themen 4
R Möchte einen anderen Hintergrund, weis nicht wie? Java Basics - Anfänger-Themen 7
D Ich möchte im JFrame einen Scrollbalken. Java Basics - Anfänger-Themen 5
7 Möchte lediglich zwei Zahlen addieren. Java Basics - Anfänger-Themen 5
M hilfe :} möchte servlet daten erfasssen-> hashmap speiche Java Basics - Anfänger-Themen 3
S Möchte Jave Applet vie URL laden NOOOB Java Basics - Anfänger-Themen 7
Z Blutiger Anfänger sucht nette Leute die gern helfen Java Basics - Anfänger-Themen 49
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
W Wiederkehrende Konsolen-Anzeige mit do-While?! Java Basics - Anfänger-Themen 33
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
celta_vigo Konsolen-Fenster ist weg Java Basics - Anfänger-Themen 5
S Konsolen eingabe Java Basics - Anfänger-Themen 17
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
H Frage zur Konsolen-Ausgabe Java Basics - Anfänger-Themen 1
I Externes konsolen Anwendung (.exe) starten Java Basics - Anfänger-Themen 2
E Jar Fehler = Konsolen Fehler Java Basics - Anfänger-Themen 4
P seltsamer konsolen aufruf Java Basics - Anfänger-Themen 8
W Konsolen-Ausgabe formatieren Java Basics - Anfänger-Themen 10
P konsolen ausgabe bei servlet Java Basics - Anfänger-Themen 2
D Konsolen aufruf geht nich Java Basics - Anfänger-Themen 2
A Java-Konsolen Menü Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben