Hallo, ich habe ein Programm mit welchem ich Dateien zum Server hochladen kann.
Die Client-Server-Kommunikation ist eine eigene Klasse. Zum Hochladen von Dateien gibt es eine Methode in dieser statischen Klasse: UploadFile();
Diese Methode wird nun aufgerufen wenn ein Formular ausgefüllt ist, in dem die Datei etc. angegeben ist.
Nun möchte ist das während des hochladens ein Fenster erscheint das eine ProgressBar anzeigt.
Die Klasse mit der ProgressBar habe ich schon mal erstellt:
ich kann das ganze auch schon verwenden mit:
nur weiß ich nicht wie ich jetzt die Methode UploadFile mit den ganzen parametern nach doInBackground bekomme?!? da ich die klasse progressbarwindow ja auch nicht nur für uploadfile verwenden möchte?!
Die Client-Server-Kommunikation ist eine eigene Klasse. Zum Hochladen von Dateien gibt es eine Methode in dieser statischen Klasse: UploadFile();
Diese Methode wird nun aufgerufen wenn ein Formular ausgefüllt ist, in dem die Datei etc. angegeben ist.
Nun möchte ist das während des hochladens ein Fenster erscheint das eine ProgressBar anzeigt.
Die Klasse mit der ProgressBar habe ich schon mal erstellt:
Code:
public class ProgressBarWindow extends JDialog
implements PropertyChangeListener {
private JProgressBar progressBar;
private Task task;
class Task extends SwingWorker<Void, Void> {
/*
* Main task. Executed in background thread.
*/
@Override
public Void doInBackground() {
// Hier sollte irgendwie Code ausgeführt werden
return null;
}
/*
* Executed in event dispatching thread
*/
@Override
public void done() {
Toolkit.getDefaultToolkit().beep();
setCursor(null); //turn off the wait cursor
}
}
public ProgressBarWindow() {
super((Frame)TibisClient.cParent,true);
//Create the UI
progressBar = new JProgressBar(0, 100);
progressBar.setValue(0);
progressBar.setStringPainted(true);
JPanel panel = new JPanel();
panel.add(progressBar);
add(panel, BorderLayout.PAGE_END);
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
task = new Task();
task.addPropertyChangeListener(this);
task.execute();
this.setSize(TibisConstants.COOKIE_MODAL_WIN_SIZE);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.setVisible(true);
}
/**
* Invoked when task's progress property changes.
*/
public void propertyChange(PropertyChangeEvent evt) {
if ("progress" == evt.getPropertyName()) {
int progress = (Integer) evt.getNewValue();
progressBar.setValue(progress);
}
}
}
ich kann das ganze auch schon verwenden mit:
Code:
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
ProgressBarWindow pbw = new ProgressBarWindow();
}
nur weiß ich nicht wie ich jetzt die Methode UploadFile mit den ganzen parametern nach doInBackground bekomme?!? da ich die klasse progressbarwindow ja auch nicht nur für uploadfile verwenden möchte?!