JLabel Textausgabe funktioniert nicht

Quao

Mitglied
Servus,
ich habe ein Problem mit der Textausgabe in meinem JLabel.
Meine Methode ruft in einer for-Schleife immer wieder die Textausgabe des JLabels in der GUI Klasse auf. Mein JLabel zeigt aber nichts neues an. Brauche ich dafür vielleicht Threads? Sonst funktioniert das JLabel aber. Wenns auch ohne Threads gehn müsste, kann ich auch mal den Quellcode einstellen.
Ich hoffe mir kann einer sagen was das schlauste wär.
Danke
 

Marco13

Top Contributor
Vermutlich wird die Methode, die die for-Schleife ausführt, von einem ButtonKlick oder so ausgelöst? Wenn ja, muss diese Methode in einem eigenen Thread laufen. Das label.setText muss dann aber mit SwingUtilities.invokeLater wieder auf den Event-Dispatch-Thread gemacht werden.
 

Quao

Mitglied
Ich hab jetzt mal alles unnötige weggelassen.
Also hier ist der Code der GUI Klasse:
Java:
public JLabel konsole = new JLabel();
konsole.setBounds(32, 216, 379, 25);
konsole.setText("Choose two files and press 'Synchronise'!");
cp.add(konsole)
public void synchro_ActionPerformed(ActionEvent evt)
{
    if(in != null && out != null)
    {
        if(in.isDirectory())
        {
            if(out.isDirectory())
            {
                konsole.setText("Synchronising...");
                Syn s = new Syn(this);
                konsole.setText("Looking for files...");
                if(protocol.isSelected())
                {
                    try
                    {
                        Console console = new Console();
                        console.setVisible(false);
                        s.syn2(in, out, console);
                        console.setVisible(true);
                    }
                    catch(Exception e)
                    {
                        konsole.setText("Sorry, the protocol doesn't work");
                        s.syn(in, out);
                    }
                }
                else
                {
                    s.syn(in, out);
                }
                int n = s.getcopyed();
                int m = s.getshifted();
                konsole.setText("Finished synchronising; copied " + n + " files and shifted " + m + " files");
                in = null;
                eingangLabel.setText("no File choosed");
                out = null;
                zielLabel.setText("no File choosed");
            }
            else
            {
                konsole.setText("Targetfile is no directory");
            }
        }
        else
        {
            konsole.setText("Startfile is no directory");
        }
    }
    else
    {
        konsole.setText("No file choosed");
    }
};
und hier ist die Klasse mit der Methode, die an sich funktioniert, das JLabel aber nicht verändert wird während die Methode läuft (Ich glaube der Satz spricht für Threads:
Java:
    public void syn(File in, File out)
    {
        File[] files = in.listFiles();
        File[] filesout = out.listFiles();
        
        for(int i = 0; i < files.length; i++)
        {
            if(files[i].isDirectory())
            {
                if(Search.search(filesout, files[i]) >= 0)
                {
                    syn(files[i], filesout[Search.search(filesout, files[i])]);
                }
                else
                {
                    copyed++;
                    gui.konsole.setText("Copying directory " + copyed + " ...");
                    File newFile = new File(out.getAbsolutePath() + System.getProperty("file.separator") + files[i].getName());
                    newFile.mkdirs();
                    newDir(files[i], newFile, filesout);
                    gui.konsole.setText("Looking for files...");
                }
            }
            else
            {
                if(Search.search(filesout, files[i]) >= 0)
                {
                }
                else
                {
                    copyed++;
                    gui.konsole.setText("Copying file " + copyed + " ...");
                    File newFile = new File(out.getAbsolutePath() + System.getProperty("file.separator") + files[i].getName());
                    Copy.copyFile(files[i], newFile);
                    gui.konsole.setText("Looking for files...");
                }
            }
        }
    }
 

Marco13

Top Contributor
Allgmein: Vorher
Java:
public void actionPerformed(ActionEvent evt)
{
    synchro_ActionPerformed(evt);
}
Nachher:
Java:
public void actionPerformed(final ActionEvent evt)
{
    Thread t = new Thread(new Runnable()
    {
        @Override 
        public void run()
        {
            synchro_ActionPerformed(evt);
        }
    };
    t.start();
}

UND jeden Aufruf von
konsole.setText(text);
oder
label.setText(text);
ersetzen durch
setTextOnEDT(konsole, text);
wobei
Java:
private static void setTextOnEDT(final JTextComponent textComponent, final String text)
{
    SwingUtilities.invokeLater(new Runnable()
    {
        @Override 
        public void run()
        {
            textComponent.setText(text);
        }
    });
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
heinz ketchup String im JLabel ausgeben und erneuern Allgemeine Java-Themen 6
F JLabel nach 5 Sekunden wieder leeren Allgemeine Java-Themen 7
gamebreiti Swing JLabel wird nicht angezeigt Allgemeine Java-Themen 4
A Klassen und JLabel's Allgemeine Java-Themen 12
S JLabel auf JPanel Allgemeine Java-Themen 10
D JLabel in (int) Array Allgemeine Java-Themen 8
JAVAnnik Bilder in JLabel Array einfügen Allgemeine Java-Themen 2
X Kann JLabel in JFrame nicht aktualisieren Allgemeine Java-Themen 3
T Edit: JLabel+MouseListener oeffnet mehrere Instanzen Allgemeine Java-Themen 5
N Jlabel automatisch anpassen Allgemeine Java-Themen 3
H image in jtextarea/JLabel einbinden... Allgemeine Java-Themen 4
M Escape Sequence in JLabel Allgemeine Java-Themen 4
L JLabel um 90 Grad drehen Allgemeine Java-Themen 6
T ImageIcon und JLabel Allgemeine Java-Themen 16
D JLabel aktualisieren Allgemeine Java-Themen 4
N KeyEvent / JLabel Allgemeine Java-Themen 5
E Image auf einem JLabel darstellen Allgemeine Java-Themen 3
E Pixelweise auf einem JPanel/JLabel o.ä. zeichnen Allgemeine Java-Themen 4
S JLabel Allgemeine Java-Themen 2
B Text von JLabel wird nicht aktualisiert Allgemeine Java-Themen 5
M ein JLabel in einem JLabel? Allgemeine Java-Themen 3
M JLabel an Textlänge anpassen / Textlänge in pixel Allgemeine Java-Themen 3
B JCheckBox als JLabel Allgemeine Java-Themen 11
sliwalker JLabel-"Synchronisations"-Problem Allgemeine Java-Themen 7
G Html Link in einem JLabel? Allgemeine Java-Themen 3
S grafische Textausgabe außerhalb eines Frames Allgemeine Java-Themen 5
T formatierte Textausgabe in Datei Allgemeine Java-Themen 2
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
Lukas2904 Wie funktioniert ein KeyLogger? Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
I Wieso funktioniert das nich? Allgemeine Java-Themen 5
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
O Aus JAR-Datei erstellte EXE-Datei funktioniert nicht Allgemeine Java-Themen 10
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
bueseb84 FolderWatcher mit WatchService funktioniert nur bedingt Allgemeine Java-Themen 5
Drachenbauer Division mit Int funktioniert nicht Allgemeine Java-Themen 3
O docx-Datei erzeugung mit DocXStamper funktioniert nicht Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J Neuronales Netz funktioniert mal und mal nicht. Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
C WindowBuilder Design funktioniert nicht Allgemeine Java-Themen 0
J FTPSClient funktioniert nicht Allgemeine Java-Themen 4
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
M Operatoren Warum funktioniert diese überprüfung nicht? Allgemeine Java-Themen 7
R jar-Datei funktioniert nicht Allgemeine Java-Themen 2
E Open Declaration Funktioniert nicht Allgemeine Java-Themen 0
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
RalleYTN requires transitive funktioniert nicht? Allgemeine Java-Themen 7
R Bruteforce hashes mit multithreading. Funktioniert das so? Allgemeine Java-Themen 0
P Best Practice Wieso funktioniert der Modulo - Operator nicht? Allgemeine Java-Themen 2
HarleyDavidson Eigener PropertyChangeListener funktioniert einfach nicht Allgemeine Java-Themen 3
J Exclude funktioniert nicht Allgemeine Java-Themen 2
K .jar funktioniert nicht vollständig Allgemeine Java-Themen 1
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
O Fahrenheit/Celsius Converter funktioniert nicht Allgemeine Java-Themen 2
M Serialisierung funktioniert nicht Allgemeine Java-Themen 9
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H Timer funktioniert nicht? Allgemeine Java-Themen 3
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
J If Abfrage funktioniert nicht Allgemeine Java-Themen 4
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
U PersistenceManager.createEntityManager funktioniert nicht Allgemeine Java-Themen 3
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
H File.listFiles() funktioniert nicht... Allgemeine Java-Themen 10
JG12111989 Auswertung von Fragebogen funktioniert nicht! Allgemeine Java-Themen 7
M Primzahlberechnung funktioniert nicht. Allgemeine Java-Themen 4
A JFreeChart funktioniert nicht :( Allgemeine Java-Themen 6
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
F Datei einlesen funktioniert nicht Allgemeine Java-Themen 3
A Debugger im Java-Editor funktioniert nicht Allgemeine Java-Themen 5
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
J Swing Cursor.WAIT funktioniert nicht nach JFileChooser Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben