Swing GUI Process anzeigen

Pommes9485

Bekanntes Mitglied
Guten Tag,

ich tüflte jetzt schon seit einer Stunde daran, das der Prozess von der einen Klasse in der GUI angezeigt wird.

Jetzt weis ich nicht mehr weiter.
Ich habe die Arbeit-Klasse in einen thread verwandelt, in einen String den Process geschrieben und eine run methode geschrieben, in welcher ich die Methoden der Arbeit-Klasse nach und nach aufrufe. Das geht auch so laut Console. In der GUI starte ich den Thread(Also die Arbeit klasse) und frage dann per while schleife den Status vom String in der Arbeit Klasse ab und stecke ihn in ein Label.

Aber dennoch friert die GUI einfach ein.

Was kann ich tun ?
 

Pommes9485

Bekanntes Mitglied
Ne, mit start() ;D

Ich hatte es auch schon einmal mit einem andern Programm hinbekommen.

Ich gebe euch mal den verkürzten Code :

Java:
 import java.io.*;
 import java.util.ArrayList;
  import java.util.Iterator;
  import org.apache.commons.net.ftp.FTPClient;
import java.io.FileInputStream;
import java.io.IOException;
public class Lesen extends Thread
{

String process="";
boolean lauf = true;
public Lesen(String pfad, String name, String titel)
{


}
public void lese() 
{
process="Beginne einlesen.";

process="Einlesen beendet. Starte einsetzen und bearbeiten des Textes.";
   
}
public void ersetzten()
process="Einsetzen und bearbeiten des Textes beendet. Starte löschen der alten Datei.";
   
}
public void löschen()
{

 process="Löschen beendet. Starte hochladen der neuen Datei.";
   
}
public void hochladen()
{

process="Vorgang erfolgreich abgeschlossen.";
   
}
public void run()
{
try{
lese();
ersetzen();
löschen();
hochladen();
lauf = false;
}catch(IOException i){System.out.println(i.getMessage());}
   

}
}

Und die GUI :

Java:
ls = new Lesen(jTextField1.getText(), name, titel);
    ls.start();
   while(ls.lauf)
   {
       System.out.println(ls.process);
   jLabel1.setText(ls.process);
}

Damit rufe ich es dann auf.
 

XHelp

Top Contributor
Im 2. Schnipsel hast du ja in Zeile 3-7 ja auch eine Schleife die Blockiert. Die musst du entweder auch in ein Thread auslagern, oder in deinem Lesen-Thread sowas wie "ProcessStateChangeListener" implementieren
 

Pommes9485

Bekanntes Mitglied
AH, ich verstehe ^^

Danke dir...

EDIT :

Habe das jetzt einfach noch in einen Extra Thread ausgelagert, die GUI friert auch nicht ein, aber es ändert sich einfach nichts...

Die neue Klasse sieht so aus :

Java:
public class Pro extends Thread
{
Lesen la;
GUI gu;
public Pro(Lesen ls, GUI gui)
{la=ls;gu = gui;}
public void run()
{
while(true)
{
gu.jLabel1.setText(la.process);
}
}
}

Sie wird von Lesen auch gestartet, aber das Label verändert sich erst am Ende...
 
Zuletzt bearbeitet:

Empire Phoenix

Top Contributor
warum nicht den arbetenden Thread referenz auf textfeld übergeben , und dann dort von einfach setText machen. setText bei Lable ist threadsafe sogesehen sollte das auch keine probleme geben. (achtung am rande swing ist nicht überall threadsafe)
 

Pommes9485

Bekanntes Mitglied
Ich weis nicht genau, was du mit refenz meinst.
Ich habe das Label jetzt direkt weitergegeben. Aber das geht nicht, da ich ohne extends JFrame kein JLabel einbinden kann. Und bie der einen klasse erbe ich schon von Thread.
 

XHelp

Top Contributor
Was gemeint war wohl:
Java:
public class MainGui extends JFrame {
  private JLabel procLablel;
  ....
  private void initComponents() {
    procLabel = new JLabel("test");
    ...
    add(procLabel);
    ...
  }
  private void startSomeProcess() {
    (new Thread(new MyWorker(procLabel))).start();
  }

  private class MyWorker implements Runnable {
    private JLabel procLabel;
    public MyWorker(JLabel procLabel) {
      this.procLabel = procLabel;
    }
    public void run() {
      while(true) {
        //doSmth
        procLabel.setText("new state");
      }
    }
  }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Process auf Console anzeigen lassen. Allgemeine Java-Themen 5
D Compiler-Fehler child process exited with code 1 Allgemeine Java-Themen 1
K Threads Runtime und Process Probleme Allgemeine Java-Themen 3
P Herausfinden, ob ein Process ein Fenster hat Allgemeine Java-Themen 1
D Java Process OutputStream ist null Allgemeine Java-Themen 4
X Problem bei process.start() ExitValue Allgemeine Java-Themen 5
T Mit Java auf die Konsole eines Process-Objekts zugreifen Allgemeine Java-Themen 10
P Input/Output Process.getErrorStream = OutputStream Allgemeine Java-Themen 11
J Download: Filename + Process waitFor() Allgemeine Java-Themen 5
S Wie beendet man einen Process in Java Platform unabhänging? Allgemeine Java-Themen 8
M Process wird gestoppt und nach beenden der Anwendung fortgeführt Allgemeine Java-Themen 4
G Process.destory() == CTRL+C Allgemeine Java-Themen 2
F Process.getInputStream unter Linux Allgemeine Java-Themen 7
schlingel Process - Ausgabe leer Allgemeine Java-Themen 5
G ungepufferter Process.getInputStream Allgemeine Java-Themen 10
J Process beenden ...aber wie ? Allgemeine Java-Themen 19
G Process - mehrere Commands?! Allgemeine Java-Themen 2
MQue auf gestarteten Process warten Allgemeine Java-Themen 7
G Process.wait() auf Folgeprozesse mitwarten Allgemeine Java-Themen 29
P Bedeutung der Process.exitValue() Werte? Allgemeine Java-Themen 3
S Process - Befehle senden Allgemeine Java-Themen 13
B Process Builder Allgemeine Java-Themen 10
D Thread & Process: Beenden einer Batch-Datei Allgemeine Java-Themen 8
J process.getInputStream() hängt auf merkwürdige Art und Weise Allgemeine Java-Themen 7
D Fremdes Programm schließen (ohne process.destroy()) Allgemeine Java-Themen 8
S process.waitFor() endet mit -1 Allgemeine Java-Themen 3
M Process -> getInputStream -> nur gepuffert ? Allgemeine Java-Themen 12
A Runtime Process bricht nicht ab! Allgemeine Java-Themen 7
C Process output Allgemeine Java-Themen 7
kodela StatusBar-Anzeigen auch in Log-Datei ausgeben Allgemeine Java-Themen 3
berserkerdq2 Text über einen Shape anzeigen (Scenebuilder) Allgemeine Java-Themen 1
C Kalender mit Tageswerten anzeigen Allgemeine Java-Themen 23
W Datum anzeigen Allgemeine Java-Themen 10
OnDemand Anzeigen was eine Applikation macht Allgemeine Java-Themen 1
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
Lukas2904 Wie kann man cps (ClicksPerSecond) in einer GUI anzeigen lassen? Allgemeine Java-Themen 4
I if-eingaben nur einmal anzeigen Allgemeine Java-Themen 6
B Long in einen Double umwandeln und im Label anzeigen Allgemeine Java-Themen 7
L Tess4j Umlaute anzeigen Allgemeine Java-Themen 3
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
N HTTP Interpretierten Seitenquellcode anzeigen Allgemeine Java-Themen 30
M Java- Bild gewissen Anzahl von Sekunden anzeigen?! Allgemeine Java-Themen 4
M Java (GUI) Code verdoppeln oder anzeige mehrmals anzeigen? Allgemeine Java-Themen 8
E Swing Interaktive Flächen auf der GUI anzeigen lassen Allgemeine Java-Themen 5
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
A Swing Immer aktuelle Mausposition anzeigen lassen Allgemeine Java-Themen 7
O Threads Aktivität anzeigen... Allgemeine Java-Themen 5
P jCheckBox auf der zusammengeknüpften Programmierung anzeigen lassen Allgemeine Java-Themen 3
0 Animiertes Gif anzeigen - NullPointer Exception Allgemeine Java-Themen 19
M Abonnentenzahl, Aufrufe, etc. von einem YouTube-Kanal anzeigen Allgemeine Java-Themen 7
L Verklemmungen Anzeigen Allgemeine Java-Themen 8
H JFileChooser soll NUR Windows-Netzwerkumgebung anzeigen Allgemeine Java-Themen 2
I JTextArea soll nur drei Zeilen anzeigen Allgemeine Java-Themen 1
B Erste Schritte Plugin erkennen und Class Dateien anzeigen lassen Allgemeine Java-Themen 3
T Wie kann ich alle existierenden Java-Klassen anzeigen lassen? Allgemeine Java-Themen 10
S BLOB Image in JSP anzeigen Allgemeine Java-Themen 5
P "virus entschärfen" / cpu-auslastung von javaw.exe anzeigen Allgemeine Java-Themen 9
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
P Font aus PDF extrahieren -> im Panel anzeigen Allgemeine Java-Themen 3
M CMD-Text anzeigen Allgemeine Java-Themen 10
M Chart per byte[] in JSP anzeigen Allgemeine Java-Themen 4
R Referenzen im Heap anzeigen Allgemeine Java-Themen 3
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
C Zahl im Textarea anzeigen lassen Allgemeine Java-Themen 8
H Grafikfenster beim booten anzeigen Allgemeine Java-Themen 2
Z Socket [Chatprogramm] Nachrichten vom Server anzeigen lassen Allgemeine Java-Themen 6
Z Desktop anzeigen + Screenshot klappt nicht Allgemeine Java-Themen 3
C Verschlüsselte JPEG Datei anzeigen Allgemeine Java-Themen 10
S TextDatei in Panel anzeigen Allgemeine Java-Themen 10
E 2D-Grafik nicht-rechteckige Grafik anzeigen Allgemeine Java-Themen 3
M Anzeigen Blob gespeicherte Datei Allgemeine Java-Themen 6
J System.out im GUI anzeigen Allgemeine Java-Themen 3
D Bilder in JFrame anzeigen Allgemeine Java-Themen 5
cedi Eingegebenen Text in der Konsole nicht sichtbar machen oder nur in Sternchen anzeigen Allgemeine Java-Themen 2
K Liste aller implementierenden Klassen einer Oberklasse anzeigen Allgemeine Java-Themen 4
S Graphik anzeigen Allgemeine Java-Themen 9
B Applet .java Datei einlesen, anzeigen Allgemeine Java-Themen 3
destroflyer *.dds-Bild anzeigen Allgemeine Java-Themen 12
S Inhalt einer zip-Datei anzeigen Allgemeine Java-Themen 11
S Probleme beim Anzeigen des Dateiinhalts Allgemeine Java-Themen 6
T Zeit von einem Server/Webseite auslesen und in eigener GUI anzeigen Allgemeine Java-Themen 6
ARadauer JFreeChart: Beschriftung anzeigen Allgemeine Java-Themen 6
Benji0815 Verzeichnis wie im Windows Explorer in einem JTree anzeigen Allgemeine Java-Themen 6
M Java PDF Anzeigen Allgemeine Java-Themen 5
M Arraylist - Inhalte in Textferldern anzeigen, verändern und löschen. Allgemeine Java-Themen 18
A Zeichen beim Eingeben in ein DOS-Fenster nicht anzeigen? Allgemeine Java-Themen 3
H2SO3- txt datei anzeigen Allgemeine Java-Themen 4
A zwei listen vergleichen und unterschiede anzeigen Allgemeine Java-Themen 3
J Ergebnismenge eines SQL-Queries in JTable anzeigen Allgemeine Java-Themen 3
W Windows XP: ProcessBuilder.start: Kommandoshell anzeigen Allgemeine Java-Themen 3
Y JasperReport - PDF sofort anzeigen Allgemeine Java-Themen 4
G Bilder einer Webcam im JFrame anzeigen Allgemeine Java-Themen 5
A Noch freie Nummern anzeigen lassen Allgemeine Java-Themen 3
G Taskmanager, Leistung anzeigen Allgemeine Java-Themen 61
B Externes Programm starten - Konsolenausgabe anzeigen lassen? Allgemeine Java-Themen 2
J JSP, Link nur bei erfüllter Bedingung anzeigen Allgemeine Java-Themen 6
G Wait_Cursor anzeigen Allgemeine Java-Themen 4
Zed JList Object einfügen und Text anzeigen Allgemeine Java-Themen 3
D Suche Programm, zum anzeigen von Threads und JVM Zustand etc Allgemeine Java-Themen 8
G Ausgeführtes PreparedStatement anzeigen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben