AWT - metody waitForClick vs mouseClicked

0

Witam,
Chciałem stworzyć prostą grę, zauważyłem dziwne zachowanie, które może ktoś potrafiłby wytłumaczyć.
Po kliknięciu myszki chcę, żeby piłka "przesunęła" się na określoną długość. Robi to metoda moveBall() przedstawiona poniżej:

private void moveBall(){
    for(int i=0; i<10;i++){    
                ball.move(5, 5);
                pause(50);
    }
}

Gdy korzystam z

MouseClicked(MouseEvent e){
moveBall();
}

Nie wyświetla się animacja, tylko, (w tym przypadku po odczekaniu 10*50 milisekund) wyświetla się stan końcowy piłki

Natomiast gdy w metodzie Run() wykorzystuję sekwencję:

        waitForClick();
        moveBall();

widać ruch piłki

Przyznam się, że wolałbym wykorzystać metodę (a raczej klasę?) MouseClicked(MouseEvent e), ponieważ wygląda to "bardziej obiektowo" i zapewnia w moim przekonaniu większą przejrzystość kodu. Może ktoś zna przyczynę, dlaczego zachowuje się ta funkcja w ten sposób?
Pozdrawiam

0

A tak na szybko - jakbyś dodał repaint() w moveBall? (mogę się mylić i nie wytłumaczę dlaczego tak się dzieje)

0

A możesz zamieścić cały kod ? Trochę mało danych...

1 użytkowników online, w tym zalogowanych: 0, gości: 1