JProgressBar updaten abhängig vom Output eines externen Skripts

Apotekarnes

Mitglied
Liebe Javafreunde,

ich lasse auf einen Klick auf einen Button hin ein externes Skript (Python-Programm) ausführen und möchte den Füllstand einer jProgressBar entsprechend des Konsolenoutputs des externen Skripts während dessen Ausführung aktualisieren.
Dabei ist mir außerdem wichtig, das Programm meiner Java-Gui trotzdem auf die Terminierung des externen Skripts wartet, bevor beispielsweise ein neues Python-Programm aufgerufen wird.

Dazu sieht mein Code bisher so aus:

Java:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:
        String a = jTextField1.getText();
               
        jProgressBar1.setValue(60);
        jLabel7.setText("Please wait...");
               
        Runtime rt = Runtime.getRuntime();
        Process proc1;
        try {
            proc1 = rt.exec("python ContigsBaseDistribution.py " + a);
             try {
                 String line;
                 BufferedReader input = new BufferedReader(new InputStreamReader(proc1.getInputStream()));
                 while ((line = input.readLine()) != null) {
                    jProgressBar1.setValue(Integer.parseInt(line));
                 }
                 input.close();
            }
            catch (Exception err) {
                err.printStackTrace();
            }
            StreamGobbler errorGobbler1 = new 
            StreamGobbler(proc1.getErrorStream(), "ERROR");
            // any output?
            StreamGobbler outputGobbler1 = new 
            StreamGobbler(proc1.getInputStream(), "OUTPUT");
            // kick them off
            errorGobbler1.start();
            outputGobbler1.start();
            
            
            try {
                proc1.waitFor();
            } catch (InterruptedException ex) {
                Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (IOException ex) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        }


Die Probleme sind bisher:
1. Obwohl, wie im Code ersichtlich, die jProgressBar anfangs VOR der Ausführung des externen Skripts schon auf "60" gesetzt werden müsste, tut sie das nicht! Der gesamte Code vor dem Runtime/exec-Aufruf wird einfach übergangen, auch das Update des jLabels mit "Please wait"...
2. Die jProgressBar füllt sich nicht, obwohl das Python-Programm Zahlen in die Konsole printet
3. Meine GUI reagiert während der Ausführung des Python-Programms nicht auf irgendwelche Mausklicks

Was kann ich tun, um diese Probleme zu beheben?


Mit freundlichen Grüßen
Ralf Hauenschild
 
Zuletzt bearbeitet:
D

dfgsdgfsdf

Gast
Hallo.

Zu 2. kann ich nur sagen. Das es sich nicht um die eigentliche Windowsconsole handelt und somit kann man die Ausgabe nicht auslesen. Nur möglich mir der Windowskonsole.

Zu 1. Also dafür müsste man mehr code sehen. Dort sehe ich nicht den Grund warum er den Wert nicht auf 60 setzt.

Zu 3.
Ja dafür gibt es Threads. Also das ausführen blockiert solange die Anwendung (Mainthread) bis das externe Programm fertig ist.
 

bERt0r

Top Contributor
Ähnliche Java Themen
  Titel Forum Antworten Datum
T JProgressbar während actionListener updaten AWT, Swing, JavaFX & SWT 1
E Swing JProgressBar updaten AWT, Swing, JavaFX & SWT 3
J Rekursive Methode JProgressBar AWT, Swing, JavaFX & SWT 4
M Swing JProgressbar und Outoputstream probleme AWT, Swing, JavaFX & SWT 2
A Swing JProgressbar im Windows Look & Feel Farbanpassung AWT, Swing, JavaFX & SWT 2
G JProgressBar: Verständnis Problem AWT, Swing, JavaFX & SWT 3
S Swing JProgressBar läuft nicht mit AWT, Swing, JavaFX & SWT 12
T Swing JProgressBar mit String unschön AWT, Swing, JavaFX & SWT 5
H jprogressbar während datenabfrage anzeigen AWT, Swing, JavaFX & SWT 5
P Problem Thread.sleep() und JProgressBar AWT, Swing, JavaFX & SWT 7
D Swing JProgressBar soll ende erkennen AWT, Swing, JavaFX & SWT 4
V Swing JProgressBar aktualisieren AWT, Swing, JavaFX & SWT 14
M JProgressBar updatet nicht AWT, Swing, JavaFX & SWT 4
T Swing JProgressBar Indeterminate bleibt stehen bei neuem Fenster AWT, Swing, JavaFX & SWT 6
M JProgressBar für einen Thread AWT, Swing, JavaFX & SWT 14
J JProgressBar Indeterminate AWT, Swing, JavaFX & SWT 17
J JProgressBar Farbverlauf AWT, Swing, JavaFX & SWT 2
O Probleme mit JProgressBar bei der Statusanzeige AWT, Swing, JavaFX & SWT 5
S jProgressbar von einem Download AWT, Swing, JavaFX & SWT 6
C Swing JProgressBar in JDialog wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
S Swing StatusLeiste mit JProgressBar AWT, Swing, JavaFX & SWT 4
S JProgressBar in Abhängigkeit eines FileInputStreams AWT, Swing, JavaFX & SWT 2
S (Applets) JProgressBar wird erst am Ende angezeigt AWT, Swing, JavaFX & SWT 13
S Problem mit JProgressBar AWT, Swing, JavaFX & SWT 3
E Swing DB Zugriff mit JProgressBar?! AWT, Swing, JavaFX & SWT 8
C Swing JProgressBar Aktualisiert sich nicht. AWT, Swing, JavaFX & SWT 9
M JProgressBar Look and Feel AWT, Swing, JavaFX & SWT 5
C JProgressBar und JLabel AWT, Swing, JavaFX & SWT 5
K JProgressBar transparent AWT, Swing, JavaFX & SWT 10
M JProgressBar AWT, Swing, JavaFX & SWT 2
K JProgressBar für Serialisierung AWT, Swing, JavaFX & SWT 6
multiholle [JProgressBar] Raster deaktivieren AWT, Swing, JavaFX & SWT 14
M JProgressBar übereinander legen? AWT, Swing, JavaFX & SWT 3
B JProgressbar wird nicht aktualisert, trotz Threads AWT, Swing, JavaFX & SWT 6
G JProgressBar actionPerformedMethode und SwingUI thread AWT, Swing, JavaFX & SWT 36
S JProgressBar und Threads AWT, Swing, JavaFX & SWT 11
G Repaint bei JProgressBar AWT, Swing, JavaFX & SWT 3
A Richtiger Umgang mit jProgressBar AWT, Swing, JavaFX & SWT 2
H JProgressBar in TableColumn von JTable setzen/abfragen AWT, Swing, JavaFX & SWT 5
B JProgressBar: wie muss ich das lösen? AWT, Swing, JavaFX & SWT 4
R JProgressBar-Verhalten AWT, Swing, JavaFX & SWT 5
G JProgressbar AWT, Swing, JavaFX & SWT 8
A JProgressBar: Farbe im Windows Look&Feel ändern. AWT, Swing, JavaFX & SWT 1
C JProgressBar und ihre Tücken AWT, Swing, JavaFX & SWT 8
G JProgressBar in JTable AWT, Swing, JavaFX & SWT 6
G Probleme mit JProgressbar auf JPanel in JFrame AWT, Swing, JavaFX & SWT 6
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
T JProgressBar und CMP Bean AWT, Swing, JavaFX & SWT 2
J JProgressBar flackert AWT, Swing, JavaFX & SWT 14
S JProgressBar zu JOptionPane hinzufügen. AWT, Swing, JavaFX & SWT 8
M Swinganwendung Threads mit JProgressBar AWT, Swing, JavaFX & SWT 7
L JProgressbar möglichst genau AWT, Swing, JavaFX & SWT 3
G JProgressBar + Thread + Client AWT, Swing, JavaFX & SWT 10
R JProgressBar ohne Threads verwenden AWT, Swing, JavaFX & SWT 6
I JProgressBar String anzeigen, danach wieder normale Ansicht AWT, Swing, JavaFX & SWT 3
G JProgressBar AWT, Swing, JavaFX & SWT 8
L JProgressBar wird nicht mehr aktualisiert AWT, Swing, JavaFX & SWT 2
U JProgressBar in umgekehrter Richtung AWT, Swing, JavaFX & SWT 2
S JProgressBar einbinden AWT, Swing, JavaFX & SWT 5
H JProgressBar AWT, Swing, JavaFX & SWT 6
T JProgressBar und JPG AWT, Swing, JavaFX & SWT 2
D Problem mit JProgressBar und Threads AWT, Swing, JavaFX & SWT 7
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Label lässt sich innerhalb service Task nicht updaten? AWT, Swing, JavaFX & SWT 22
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
N JavaFX TextArea Updaten bevor Prozess gestartet wird AWT, Swing, JavaFX & SWT 7
I JavaFX Im Controller die ProgressBar mit Task updaten AWT, Swing, JavaFX & SWT 6
K Swing JTable updaten AWT, Swing, JavaFX & SWT 9
A Swing JMenuBar updaten AWT, Swing, JavaFX & SWT 2
J JTree updaten AWT, Swing, JavaFX & SWT 2
S Swing Oberfläche rekusiv updaten mit updateUi() AWT, Swing, JavaFX & SWT 10
N JTable updaten AWT, Swing, JavaFX & SWT 2
M GUI muss updaten und neuzeichnen AWT, Swing, JavaFX & SWT 3
Q GUI außerhalb GUI-Thread updaten - GUI friert ein AWT, Swing, JavaFX & SWT 18
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
K JLists mit Fileobjekten updaten AWT, Swing, JavaFX & SWT 2
L JTextField updaten AWT, Swing, JavaFX & SWT 2
M PropertyChangeListener - JTable bei neuen Objekten updaten? AWT, Swing, JavaFX & SWT 3
S Würfelanimation icon updaten AWT, Swing, JavaFX & SWT 8
R Swing Tabellen updaten AWT, Swing, JavaFX & SWT 10
L JTable aus MySQL DB updaten - Live AWT, Swing, JavaFX & SWT 7
Burny91 Swing Mit Timer JLabel updaten AWT, Swing, JavaFX & SWT 2
N Swing GUI updaten / Aufklappbare Jpanels AWT, Swing, JavaFX & SWT 2
w0ddes Swing Update: Laufendes GUI updaten AWT, Swing, JavaFX & SWT 8
Z Swing Komponenten updaten AWT, Swing, JavaFX & SWT 4
X SWT - Text von Text-Komponenten updaten (wie?) AWT, Swing, JavaFX & SWT 4
G JFreeChart und das updaten AWT, Swing, JavaFX & SWT 7
K Tabelle nach JOptionPane updaten AWT, Swing, JavaFX & SWT 5
J [JTree] Node updaten AWT, Swing, JavaFX & SWT 3
G Ein jTextField im laufe das Programmes immer wieder updaten AWT, Swing, JavaFX & SWT 2
QDog JComboBox updaten, ArrayList AWT, Swing, JavaFX & SWT 7
G JTextField von andere classe updaten AWT, Swing, JavaFX & SWT 11
P GUI-Updaten während eines externen Prozesses AWT, Swing, JavaFX & SWT 2
G JTable aus Thread heraus updaten AWT, Swing, JavaFX & SWT 3
P Components updaten AWT, Swing, JavaFX & SWT 2
P JTable (->Datenbank) editieren/updaten AWT, Swing, JavaFX & SWT 3
R Componenten eines JFrames updaten AWT, Swing, JavaFX & SWT 11
R Menubar immer updaten! AWT, Swing, JavaFX & SWT 9
X textarea updaten bevor eine Methode aufegerufen wird AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben