Hallo zusammen,
Mein Problem ist folgendes:
Ich habe auf einem JLabel die paintComponent-Methode aufgerufen und ein paar Bilder gezeichnet. In der Klasse des JLabels habe ich dann 2 Methoden konstruiert. Bei der ersten Methode habe ich zwei Timer erstellt und bei der zweiten Methode eine If-Abrage. Die If-Abfrage sollte überprüfen, ob der zweite Timer am laufen ist. Nur tut es das nicht... kann mir da jemand weiterhelfen?
Hier der Code:
Mein Problem ist folgendes:
Ich habe auf einem JLabel die paintComponent-Methode aufgerufen und ein paar Bilder gezeichnet. In der Klasse des JLabels habe ich dann 2 Methoden konstruiert. Bei der ersten Methode habe ich zwei Timer erstellt und bei der zweiten Methode eine If-Abrage. Die If-Abfrage sollte überprüfen, ob der zweite Timer am laufen ist. Nur tut es das nicht... kann mir da jemand weiterhelfen?
Hier der Code:
Java:
import javax.swing.*;
import java.awt.*;
public class Spielfeld extends JLabel{
int yStickfigure;
double y;
Timer timer1;
Timer timer2;
public Spielfeld(){
//Grenzen setzen
this.setBounds(420,85,570,740);
//Methoden aufrufen
jumpAnimation();
collision();
}
public void paintComponent(Graphics g){
//Hier habe ich die Bilder gezeichnet
repaint();
}
public void jumpAnimation(){
yStickfigure = this.getHeight()-163;
y = 25;
timer1 = new Timer(20, e -> {
if (y >= 1.2){
yStickfigure -= (int) y;
y /= 1.3;
} else {
timer1.stop();
timer2.start();
}
});
timer1.start();
timer2 = new Timer(20, e -> {
if (y <= 25){
y *= 1.3;
yStickfigure += (int) y;
} else {
timer2.stop();
timer1.start();
}
});
}
public void collision(){
if (timer2.isRunning()){
System.out.println("Timer 2 is running");
}
}
}