Thread auslagern

Status
Nicht offen für weitere Antworten.

Peanut

Mitglied
Hi,
folgendes Problem, ich habe 2 AktionListener erstellt "open" und "close".
Mit "open" wird ein wird ein Thread aufgerufen, der eine Audio-Datei abspielt.

Code:
private class open implements ActionListener{
public void actionPerformed(ActionEvent e){
			
	Thread test = new Thread(new abspieler());
	test.start();
			
	try
	{
	Thread.sleep(2000);
	}catch(InterruptedException ie)
	{ ie.printStackTrace(); }
	test.stop();
			
			
		}
	}
Nun beendet dieser Thread, die Audio-Datei nach wenigen Sekunden. was mich nicht stört, nur möchte ich dieses Beenden mit meinem AktionListern "close" verknüpfen. So dass, ich später die aufgerufene Audio-Datei über ein Menü stoppen kann. Nur weiss ich nicht wie ich es auf die andere Seite bringen kann :?:

Code:
private class close implements ActionListener{
		public void actionPerformed(ActionEvent e){
			
			
			
		}
	}

Mfg

Peanut
 
Du startest, gehst durch das try-catch, lässt den Prozessor 2 sekunden warten und stoppst....
das Stop ist ausserhalb der {} des try-catch! was erwartest du also anderes, als dass es stoppt, wenn die stop-Methode aufgerufen wird? 😀
 
klassennamen schreibt man groß in java ...!
Code:
abspieler abs = new abspieler();
Thread test = new Thread(abs);
...
sleep(2000);
...
abs.stop();
 
Prusik hat gesagt.:
Du startest, gehst durch das try-catch, lässt den Prozessor 2 sekunden warten und stoppst....
das Stop ist ausserhalb der {} des try-catch! was erwartest du also anderes, als dass es stoppt, wenn die stop-Methode aufgerufen wird? 😀

Sorry, wenn meine Frage nicht genau war ich will den unteren Teil von "Open". Der das schliessen beinhaltet.

Code:
                         try
                        {
                        Thread.sleep(2000);
                        }catch(InterruptedException ie)
                        { ie.printStackTrace(); }
                        test.stop();

In die Klasse "Close" auslagern. So das ich ein Menü hab wo ich über "Open" eine Audio-Datei abspielen kann und über "Close" diese wieder schliessen/stoppen kann, in etwa so wie unten.

Code:
private class Close implements ActionListener{
      public void actionPerformed(ActionEvent e){
         
                        try
                       {
                       Thread.sleep(2000);
                       }catch(InterruptedException ie)
                       { ie.printStackTrace(); }
                       test.stop(); 

         
      }
   }

@ Hoax

Thx erstmal, ich habe deinen Code eingebaut, allerdings Stoppt er den Thread nicht, sonder macht weiter ;(
Mit "abs.stop()" gab es eine Fehlermeldung.

Code:
private class Open implements ActionListener{
		public void actionPerformed(ActionEvent e){
			
			Thread test = new Thread(new abspieler());
			test.start();
				
			}
	}
	
	private class Close implements ActionListener{
		public void actionPerformed(ActionEvent e){
			
			abspieler abs = new abspieler();
			Thread test = new Thread(abs); 
			
			try
			{
			Thread.sleep(2000);
			}catch(InterruptedException ie)
			{ ie.printStackTrace(); }
			test.stop();
			
		}
	}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben