Witam to mój pierwszy post tutaj więc chciałem przywitać wszystkich. Cześć. Zaznaczam że nie mam dużej wiedzy programistycznej a na pewno nie w javie. Mam problem z zatrzymaniem wątku a raczej z jego ponownym uruchomieniem notify(). Potrzebuje żeby wątek wykonał pewną metodę potem żeby się wykonała animacja na interfejsie graficznym, i dopiero po tej animacji wątek kontynuował. Próbuję zrobić to dodaniem kolejnego wątku invokeAndWait oraz metody wait() i notify(). Niestety udaje mi się zatrzymać wątek ale już wznowić jego działania nie.

 class Adresat implements  Runnable{
private Skrzynka_Pocztowa skrzynka;

public Adresat(Skrzynka_Pocztowa skrzynka){
	this.skrzynka=skrzynka;
	
}


public synchronized  void run(){
//do{ 
for(int i=0; i<5; i++){
	skrzynka.wydaj();

		
		try {
			SwingUtilities.invokeAndWait(new Runnable() { 
			public void run() { 
   
  
  	skrzynka.rysuj();
			 		
					} 
						});
		} catch (InvocationTargetException | InterruptedException e1) {
			
			e1.printStackTrace();
		}
		
			
	try{ wait(); //Thread.sleep((int)(Math.random() * 100));
	} catch(InterruptedException e) {}
	System.out.println("po wait");
	skrzynka.pokaz_stan();
	//try { Thread.sleep((int)(Math.random() * 100)); 
		//	} catch(InterruptedException e) {}
	
}
}

}


public synchronized   void rysuj()
{
	
	
	System.out.print("dziaaaaaaaaaaaaaaaaaaaaaaaaaaaallllllllllllllllllaaaaaaaaaaaa");
	ActionListener  zadanie = new ActionListener() {
	
	@Override
	public synchronized void actionPerformed(ActionEvent evt) {
  	x++;
  	repaint();
  	System.out.println(x);
   	
  	
  	if(x==50){
 
  	x = -25;
 	notify();
 	timer.stop();
	
  	}
  	
	}
	};
 
        
 timer = new Timer(10, zadanie);
timer.start();


}