Hi,
ich versuche eine kleine Animation zu erstellen und habe zum Testen ein bewegendes Rechteck implementiert.
Allerdings wird die paint Methode durch den repaint() Aufruf nicht ausgeführt.
Von außen ruft ein Thread immer die Methode move() aus der folgenden Klasse auf.
Hier einmal die Klasse.
Woran könnte es liegen, dass er nichts neu zeichnet?
ich versuche eine kleine Animation zu erstellen und habe zum Testen ein bewegendes Rechteck implementiert.
Allerdings wird die paint Methode durch den repaint() Aufruf nicht ausgeführt.
Von außen ruft ein Thread immer die Methode move() aus der folgenden Klasse auf.
Hier einmal die Klasse.
Java:
public class IntroPanel extends JPanel{
private final MainFrame mainFrame;
private int x, y;
private int width, height;
private boolean right = true;
public IntroPanel(MainFrame mainFrame) {
this.mainFrame = mainFrame;
Settings s = new Settings(SessionTyp.Single, GameType.Classic, false, false, false, false);
width = 100;
height = 100;
y = 10;
//Game g = new Game(s, mainFrame);
}
public void move(){
if(right){
//System.out.println(getHeight());
if((x+width) < 500){
x++;
}
else{
right = false;
}
}
else{
if(x > 0){
x--;
}
else{
right = true;
}
}
repaint();
}
@Override
public void paintComponent(Graphics g) {
//Graphics2D g = (Graphics2D) arg;
System.out.println("Paint");
g.fillRect(x, y, width, height);
}
}
Woran könnte es liegen, dass er nichts neu zeichnet?