2010-07-21 15 views

Répondre

1

Utilisez un Swing Timer pour programmer les mises à jour de l'étiquette. Ensuite, tout ce que vous faites est

label.setText(...); 

et l'étiquette sera repeinte automatiquement. Il n'est pas nécessaire d'appeler repaint().

Vous problème peut-être que vous essayez de démarrer le Timer après avoir affiché un modal JDialog. Dans ce cas, le code ne s'exécute pas tant que la boîte de dialogue n'est pas fermée. Donc, vous devez vous assurer que vous démarrez le Timer avant d'utiliser dialog.setVisible(true).

Si vous avez besoin de plus d'aide, postez votre SSCCE montrant le problème.

-1

Vous pouvez utiliser Timer et TimerTask pour planifier pour toutes les 10 secondes, dans lequel vous avez à fournir la valeur de TextJLabel. Après cela, vous devez actualiser la fenêtre en cours avec la méthode repaint(). Maintenant, vous obtiendrez la valeur Text de JLabel mise à jour ...

+0

J'ai déjà codé pour appeler la méthode repaint. Mais il ne reçoit pas l'appel après que la propriété setVisible a la valeur true. – Joe

+0

Si oui, essayez setVisible (false), définissez la valeur puis setVisible (true) ... Essayez-le ... – Venkat

+0

Non, il affiche toujours l'ancienne valeur. – Joe