hallo,
ich mach's kurz:
in meiner view liegt ein Jpanel, und dort hab ich die methode:
und noch nen mouselistener
die methode "p.move(e.getPoint)" bewegt bei jedem aufruf den Punkt "p" in richtung des Punktes, auf den man geklickt hat. (nähert den Punkt jeweils um 1 pixel auf der x und y achse an)
so, und das problem:
wenn ich irgendwohin klicke, dann passiert für kurze zeit nix auf dem bildschirm, und dann plötzlich ist der Punkt an der neuen Stelle.
Ich will aber, dass man die Bewegung sieht. MEine main-methode macht doch die ganze zeit repaint(), wieso paintet er erst wieder wenn der Punkt angekommen ist, und nicht die ganze zeit? man sieht halt die bewegung gar nicht...
Ich könnte wetten, ich hab das genau so schon mal gemacht, und da hats funktioniert...
ich mach's kurz:
Code:
public static void main(string[] arg){
View v = new View();
while (true) v.repaint();
}
in meiner view liegt ein Jpanel, und dort hab ich die methode:
Code:
protected void paintComponent(Graphics g){
super.paintComponent(g);
p.draw(g); // p ist hier ein Point, dessen draw-methode einfach g.drawRect() aufruft
}
und noch nen mouselistener
Code:
public void mouseClicked(MouseEvent e){
while(!(p.getPos().equals(e.getPoint()))){
p.move(e.getPoint());
}
}
die methode "p.move(e.getPoint)" bewegt bei jedem aufruf den Punkt "p" in richtung des Punktes, auf den man geklickt hat. (nähert den Punkt jeweils um 1 pixel auf der x und y achse an)
so, und das problem:
wenn ich irgendwohin klicke, dann passiert für kurze zeit nix auf dem bildschirm, und dann plötzlich ist der Punkt an der neuen Stelle.
Ich will aber, dass man die Bewegung sieht. MEine main-methode macht doch die ganze zeit repaint(), wieso paintet er erst wieder wenn der Punkt angekommen ist, und nicht die ganze zeit? man sieht halt die bewegung gar nicht...
Ich könnte wetten, ich hab das genau so schon mal gemacht, und da hats funktioniert...