Ich benutze SWT in meinem Java-Code für meine GUI und im Ausführen eines Prozesses, dass sein Code in Python geschrieben ist. Ich benutze den Prozess Eingangsstrom, um die Drucke auf dem Prozess zu fangen und sie sofort in meine GUI zu schreiben.Schreiben Prozess Input Stream Daten zu GUI
mein Code:
in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
printToTerminal(line);
}
und die printToTerminal Funktion:
protected void printToTerminal(String text) {
terminal.append(text + "\n");
terminal.redraw();
terminal.update();
}
Das Terminal ist ein Text-Objekt, das ich den Text anfügen möchte und dann zu zeigen, mit neu zu zeichnen und zu aktualisieren, um die Zeile sofort an den Benutzer. mein Problem ist, dass meine GUI wegen dieser while-Schleife stecken bleibt, die den Job macht und die Zeilen bekommt, aber ich kann nicht scheinen, die Lösung für das Erhalten der Zeilen zu erhalten, ohne meine GUI festzuhalten. Ich habe versucht, mit der display.async-Funktion und die While-Schleife enthalten, aber es hat noch nicht funktioniert und meine GUI blieb stecken.
Gibt es eine Möglichkeit, den Eingabestream für meinen Prozess zu erhalten und ihn auf meine GUI zu drucken, ohne ihn zu blockieren?
Danke für die Hilfe.
Warum ist diese Frage mit Python markiert? – bgporter
aus Versehen habe ich das Tagging –