/** Invoked when the user presses the start button. */ public void actionPerformed(ActionEvent evt) { if (evt.getActionCommand().equals("start")) { StartButton.setEnabled(false); cancelButton.setEnabled(true); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); // Instances of javax.swing.SwingWorker are not reusuable, so // we create new instances as needed. DownloadMessage theMessage = new DownloadMessage() { public void setProgress(int Progress) { if (myState.equals("SPLIT")) { progressBar.setValue(Progress); } else if (myState.equals("DOWNLOADREMOTE")) { progressBar.setValue(Progress); } else if (myState.equals("DOWNLOADLOCALBASE")) { progressBar3.setValue(Progress); } else if (myState.equals("TOTAL")) { progressBar4.setValue(Progress); progressBar3.setValue(0); progressBar2.setValue(0); progressBar.setValue(0); } } public void messageChanged(int Progress, String message) { setProgress(Progress); taskOutput.append(message + "\n"); taskOutput.setCaretPosition(taskOutput.getDocument().getLength()); // TODO Auto-generated method stub } public void stateChanged(String theState) { myState = theState; // TODO Auto-generated method stub } public void messageChanged(String theMessage) { taskOutput.append(theMessage + "\n"); taskOutput.setCaretPosition(taskOutput.getDocument().getLength()); // TODO Auto-generated method stub // TODO Auto-generated method stub } }; task = new Task(theMessage, (String) myDownloadOptions.getSelectedItem()); task.addPropertyChangeListener(this); task.execute(); } else if (evt.getActionCommand().equals("cancel")) { task.cancel(false); // startButton.setEnabled(true); // cancelButton.setEnabled(false); } }