Hallo Forum,
mir fiel kein aussagekräftiges Thema ein, verzeiht dafür.
Ich habe eine Klasse SlideShow, die Bilder in einer Laufleiste anzeigt.
Ein Thread bewegt die Bilder und repainted.
Dazu implementiere ich das Runnable-Interface in einer inneren Klasse in der Klasse SlideShow:
Im Konstruktor der Klasse SlideShow erzeuge ich dann den Thread:
Mit einem Button wird der Wert der Variable running geändert, damit der Bildlauf läuft oder stehen bleibt:
Nun passiert aber nichts, wenn ich den Button Play/Pause drücke.
Ich habe versuchsweise als Event die Methoden moveImages() und repaint() direkt mit dem Button einmalig aufgerufen. Sie funktionieren richtig.
Mag mir jemand helfen?
Lg
MasseElch
mir fiel kein aussagekräftiges Thema ein, verzeiht dafür.
Ich habe eine Klasse SlideShow, die Bilder in einer Laufleiste anzeigt.
Ein Thread bewegt die Bilder und repainted.
Dazu implementiere ich das Runnable-Interface in einer inneren Klasse in der Klasse SlideShow:
Java:
class moveAndPaintImages implements Runnable {
public void run() {
try {
while (SlideShow.this.running) {
Thread.sleep(8L);
SlideShow.this.moveImages();
repaint();
}
} catch (InterruptedException e) {
//TODO - Exception Handling
}
}
}
Im Konstruktor der Klasse SlideShow erzeuge ich dann den Thread:
Java:
//create Thread
Thread moveImages = new Thread(new moveAndPaintImages());
moveImages.start();
Mit einem Button wird der Wert der Variable running geändert, damit der Bildlauf läuft oder stehen bleibt:
Java:
if(pressedButton == gui.getButtonPlay()) {
if(this.slideShow.getRunning()) {
this.slideShow.setRunning(false);
gui.getButtonPlay().setText("Play");
} else {
this.slideShow.setRunning(true);
gui.getButtonPlay().setText("Pause");
}
Nun passiert aber nichts, wenn ich den Button Play/Pause drücke.
Ich habe versuchsweise als Event die Methoden moveImages() und repaint() direkt mit dem Button einmalig aufgerufen. Sie funktionieren richtig.
Mag mir jemand helfen?
Lg
MasseElch
Zuletzt bearbeitet: