Ciao ragazzi,
sto "studiando" la classe SwingWorker. Ho due pulsanti uno di start e uno di stop.
Premendo il tasto start creo l'oggetto della classe che implementa SwingWorker e lo mando in esecuzione con il metodo execute. Questo esegue tutte le operazioni richieste "in background"correntamente. Il problema è che quando vado a premere stop ricevo l'errore che mi dice che il metodo cancel(true) che invoco fa riferimento ad un oggetto nullo...lo strano è che il modo di chiamare i metodi è molto simile a quello preso da un libro...bah
posto il codice del listener dei pulsanti:
codice:
public class ButtonListener implements ActionListener {
	private Window window;
        private ResizeWorker worker;  
public ButtonListener(Window window) {
		this.window = window;
}
	
	@Override
	public void actionPerformed(ActionEvent ae) {
String command = ae.getActionCommand();
		
		if ( command == "Start") 
			startResize();
		else if (command == "Stop")
				stopResize();
		
		}
			
	private void startResize() {
		worker= new ResizeWorker(window, v);
		window.stop.setEnabled(true);
		window.progress.setEnabled(true);
		window.jbProg.setEnabled(true);
		worker.execute();
	}
	private void stopResize() {
		 worker.cancel(true); 
		System.out.println("Operazione Interrotta");
	}
}

Questo è l'errore:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ButtonListener.stopResize(ButtonListener.java:53)


Grazie in anticipo