carookee - group communication for you
Home / JavaForum / Swing + AWT
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.626 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 697 von 1460 (48%) |<   <   >   >|

Autor Patrick Hypscher
Datum 22.03.02, 20:42
Betreff GUI blockiert - trotz Thread


Hi,

ich habe in meiner Applikation eine DOwn- und Upload-Funktion per FTP. Diese kann per Button gestartet werden und verläuft eigentlih in einem eigenen Thread. Nur ist das GUI trozdem blockiert, wenn die Files runter geladen werden :-(
So richtig konnte ich keinen Aufhänger finden:
// in actionPerformed des GUI:
else if(b.getText().equals("Download")) {
    String[] sub = {"content","texte"};
    Transfer Download = new Transfer(Editor.URL,Editor.USERNAME, Editor.PASSWORD,Editor.PATH + "/texte/",sub,Transfer.DOWNLOAD);
    Download.run();
    
    // und hier die Klasse Transfer:
    public class Transfer implements Runnable{
        public static final int DOWNLOAD = 0;
        public static final int UPLOAD = 1;
        private int Type = -1;
        private FTPClient Client;
        private String Server, Path, SubDirectory = "/";
        private Editor ed;
        
        
        
        public Transfer(String _Server, String Username, String Password, String _Path, String[] SubDirectories, int _Type) {
            try {
                Server = _Server;
                Type = _Type;
                Client = new FTPClient(Server);
                Path = _Path;
                Client.login(Username,Password);
                Client.setType(FTPTransferType.BINARY);
                for (int i=0; i<SubDirectories.length; i++) {
                    Client.chdir(SubDirectories[i]);
                    SubDirectory += SubDirectories[i] + "/";
                }
            }
            catch (FTPException e) {
                String Bug = "Fehler: Transfer.Transfer() / FTPException: " + e;
                Editor.appendBug(Bug);
                System.out.println(Bug);
            }
            catch (IOException e) {
                String Bug = "Fehler: Transfer.Transfer() / IOException: " + e;
                Editor.appendBug(Bug);
                System.out.println(Bug);
            }
        }
        
        public void run() {
            try {
                if(Type==DOWNLOAD) {
                    download(Client,Server + SubDirectory,Path);
                }
                else if (Type==UPLOAD) {
                    upload(Client,Path,ed);
                }
                this.stop();
            }
            catch (FTPException e) {
                System.out.println("Fehler beim FTP-Server: " +e);
            }
            catch (IOException e) {
                System.out.println("Fehler beim FTP-Server: " +e);
            }
            
        }
        
        // hier dann noch die download und upload-Methode
        // ..
    }

Das GUI wird aber trozdem erst wieder frei gegeben, wenn alle Daten hoch- bzw. runtergeladen wurden. Woran könnte das liegen?

Patrick


Diskussionsverlauf:
GUI blockiert - trotz Thread
    Re: GUI blockiert - trotz Thread
    Re: GUI blockiert - trotz Thread
        Re: GUI blockiert - trotz Thread

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com