Mein Frame friert ein beim Uploaden

Jay_LP_

Aktives Mitglied
Hi,

ich habe folgendes Problem... Ich führe das Skript von unten nach einem Button-Klick aus. Dan friert das Frame solange ein bis es fertig ist und die Progressbar aktualisiert sich auch nicht... An einem anderen Ort im Quellcode friert es ebenfalls ein, kann mir wer helfen?

[CODE lang="java" title="Der FTP Zugang funktioniert"] String servername="website";
int port = 21;
String username="user";
String password="pw";

try {
FTPClient ftp = new FTPClient();

ftp.connect(servername,port);
ftp.login(username, password);

System.out.println("Verbunden");


ftp.setFileType(FTP.BINARY_FILE_TYPE);

File firstLocalFile = new File("ursprung");

CopyStreamListener listener = new CopyStreamListener() {

@Override
public void bytesTransferred(CopyStreamEvent event) {}


}

@Override
public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) {

jProgressBar.setValue((int)(totalBytesTransferred*100/firstLocalFile.length()));
}


};

String firstRemoteFile = "Ziel";
InputStream inputStream = new FileInputStream(firstLocalFile);

System.out.println("Start uploading first file");
ftp.setCopyStreamListener(listener);

boolean done = ftp.storeFile(firstRemoteFile, inputStream);
inputStream.close();
if (done) {
System.out.println("The first file is uploaded successfully.");
}

}catch(IOException io) {
io.printStackTrace();
}[/CODE]
 

KonradN

Super-Moderator
Mitarbeiter
Das problem wird einfach sein, dass du Aktionen in dem UI Thread durchführst (Event Dispatch Thread ist der offizielle Name des Threads bei Swing). Dieser ist aber auch für die Aktualisierung der Oberfläche da und sollte daher nie für Dinge genutzt werden, die etwas länger laufen. Diese sollten immer in eigenständige Threads verlagert werden.

Die UI Frameworks haben in der Regel auch meist spezielle Klassen, die einen Hintergrundprozess mit regelmäßigen Aktualisierungen abdeckt. Bei Swing wäre das der SwingWorker. Tante Google wird Dir dazu bestimmt auch viele Einführungen und Beispiele geben können.
 

mihe7

Top Contributor
kann mir wer helfen?
Ja, ein Thread.

Der Event-Listener, der auf den Klick reagiert, läuft im UI-Thread, der für - Überraschung - das UI zuständig ist. Diesen Thread blockierst Du, deshalb kann das UI nicht aktualisiert werden und friert ein.

Die Lösung ist, lang dauernde Arbeiten in einem separaten Thread auszuführen. Wenn ich es richtig sehe, verwendest Du Swing, da heißt der UI-Thread "event dispatch thread" (EDT) und unter Swnig gibt es z. B. einen SwingWorker, mit dem Du Dir das Leben etwas einfacher machen kannst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A mein Frame wird nicht schnell genung aktualisiert Allgemeine Java-Themen 7
Queenman Interface Mein Microsoft Visual Studio Code zeigt komische Dinge & Menüs an Allgemeine Java-Themen 9
B Wie kann ich mein 8 Klassen Gebilde objektorientierter schreiben? Allgemeine Java-Themen 114
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
Drachenbauer Wie sorge ich dafür, dass mein Spiel die ini-Datei in der Resourcen-ordner des Projektes schreibt? Allgemeine Java-Themen 5
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
M Brainstorming für mein Projekt Allgemeine Java-Themen 30
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
R Wo ist mein Fehler in diesem Code Allgemeine Java-Themen 7
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
T log4j2 Wo liegt mein Logfile? Allgemeine Java-Themen 3
Thallius Warum läst mein replace die Klammern drin? Allgemeine Java-Themen 10
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
G Mein PDF Projekt mit iText Allgemeine Java-Themen 2
K Was ist mein Fehler? Allgemeine Java-Themen 2
itwestnet Mein Java-Programm läuft nicht in China Allgemeine Java-Themen 4
Thallius App-Sprache in der App ändern. Wo ist mein Denkfehler? Allgemeine Java-Themen 6
M Mein erstes TicTacToe :-) Allgemeine Java-Themen 3
A Applet Mein Applet verursacht Browserabsturz Allgemeine Java-Themen 8
Ollek MVC - Anwendung auf mein Projekt Allgemeine Java-Themen 18
K Wo ist mein Fehler? Allgemeine Java-Themen 21
J Mein eigener Messenger und dessen Probleme Allgemeine Java-Themen 48
C Hilfe! Mein Java mag nich mehr ganz... Allgemeine Java-Themen 11
F VideoIntro für mein Programm Allgemeine Java-Themen 2
A Wie lasse ich mein Programm als Daemon laufen? Allgemeine Java-Themen 4
A Wie liefere ich mein Java-Programm richtig aus? Allgemeine Java-Themen 10
G Entscheidungsproblem für mein Vorhaben, zwischen Java und C# Allgemeine Java-Themen 35
G Wie kann ich in mein Programm eine Updatefunktion einbauen Allgemeine Java-Themen 3
E Wie bekomme ich mein Image in das Fenster Allgemeine Java-Themen 2
V Beratung zum Bestimmen der "Mittel"(Java,Sql) mein Allgemeine Java-Themen 3
S mit welchem befehl kann ich mein programm autom. schließen Allgemeine Java-Themen 3
R Mein Applet läuft in der IDE aber nicht. Allgemeine Java-Themen 2
M Bitte Testen: Mein Multi-File Editor Allgemeine Java-Themen 30
B Fehler:Mein Applet kann nicht auf zwei txt-Dateien zugreifen Allgemeine Java-Themen 2
C Warum wartet mein thread nicht? Allgemeine Java-Themen 2
F Datei auslesen - wo ist mein Fehler? Allgemeine Java-Themen 9
T läuft mein Programm schon? - wie feststellen Allgemeine Java-Themen 6
T Warum mein such-tool schneller als Windows such-tool? Allgemeine Java-Themen 5
A Wie mach ich, das mein Button schneller reagiert. Allgemeine Java-Themen 13
G JFrame nimmt mein Image nicht Allgemeine Java-Themen 2
D Mein Bäumchen Allgemeine Java-Themen 6
G Input Frame Allgemeine Java-Themen 6
Y Wie kann ich ein erstelltes JPanel meinem Frame hinzufügen? Allgemeine Java-Themen 1
MaxG. Swing Frame schließen Allgemeine Java-Themen 9
X Controller pro Frame? Allgemeine Java-Themen 8
A BlueJ Java Frame Java Editor --> Bluej / String title Allgemeine Java-Themen 8
S Bild in Frame Allgemeine Java-Themen 0
T Code durch eigenes Frame pausieren (ähnlich JDialog) Allgemeine Java-Themen 4
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
R Nullpunkt im Frame Allgemeine Java-Themen 4
J Swing Frame schließt ganzes Programm(Jasperreport) Allgemeine Java-Themen 6
J Runtime.exec setzt Fokus auf Frame Allgemeine Java-Themen 2
N Protocol Frame/Applet Allgemeine Java-Themen 4
A Frame nur Anwendungsweit in Vordergrund Allgemeine Java-Themen 2
Z Mit ActionListener in anderem Frame lauschen? Allgemeine Java-Themen 3
M Nochmal I-Frame zu Image Allgemeine Java-Themen 4
borobudur Find a AWT frame in SWT Allgemeine Java-Themen 4
S Von Frame zu Frame Allgemeine Java-Themen 7
D Kreis Rundes Frame Allgemeine Java-Themen 16
E "runder" Frame Allgemeine Java-Themen 9
G Kompletten Frame mit allen Objekten resizen Allgemeine Java-Themen 10
ARadauer mit keylistener hören auch wenn frame nicht den focus hat Allgemeine Java-Themen 2
G HTML-Seite im Frame Anzeige? Allgemeine Java-Themen 3
G Kontrolllampe im Frame Allgemeine Java-Themen 4
C Tastatureingabe in einem Frame abfragen Allgemeine Java-Themen 2
L Spielerei: Frame rekursiv darstellen Allgemeine Java-Themen 3
L Objekt in einem Frame wird im anderen benötigt Allgemeine Java-Themen 5
G Fenster/Frame schließen Allgemeine Java-Themen 16
R Window statt Frame Allgemeine Java-Themen 6
R KeyListener ohne Frame und Applet Allgemeine Java-Themen 7
B Frame schließt sich aber VM bleibt am Leben Allgemeine Java-Themen 3
J Exception-Frame Allgemeine Java-Themen 2
B MVC: controller in unabhängigen thread von der view starten (gui friert ein) Allgemeine Java-Themen 5
J Problem: Gui friert ein [Grund leider nicht nachvollziehbar] Allgemeine Java-Themen 5
J InputStreamReader friert ein Allgemeine Java-Themen 6
F Fenster friert ein! Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben