2009-10-19 7 views
0

Je cherche à appeler repaint() dans mon simulateur Java2D à intervalles réguliers.Quel est le meilleur moyen d'appeler repaint() à intervalles réguliers dans mon programme Java2D?

Quelle serait la meilleure façon de faire cela? Dois-je commencer un autre thread et avoir une boucle qui garde trace de currentTimeMillis()? Ou y a-t-il un meilleur moyen?

+2

Votre simulateur besoin de « simuler aussi vite que possible » ou «simuler à un taux fixe? La réponse peut changer comment vous structurez ceci. –

Répondre

1

Utilisez une minuterie. Si c'est une application Swing, utilisez une minuterie Swing. Si son AWT utilise alors TimerTask.

+0

Le 'Timer' de Swing fonctionne bien pour AWT. Avec 'java.util.Timer' vous devrez faire le' invokeLater' vous-même. –