2012-09-07 1 views
0

Est-ce que quelqu'un sait comment mettre à jour un jTextfield toutes les 5 secondes? Automatique. Donc, aucune entrée utilisateur n'est requise. Il est utilisé pour mettre à jour l'heure dans un champ de texte. C'est ce que j'ai essayé, mais mon programme se bloque.mise à jour automatique jtextfield

while(true){ 
         Thread.sleep(1000); 
         txtCheck.setText(convert.getCheck()); 
         System.out.println("Ja"); 
         } 

converti est un fil, j'ai essayé de lancer une exception, mais a échoué, la cause Eclise dit Threads ne peut pas lancer des exceptions.

Convert.getCheck:

public String getCheck() { 
     return check; 
    } 
+0

Ce qui est dans convert.getCheck() – CloudyMarble

+1

Où se trouve cette boucle pendant que vous montrent? Dans main(), dans un JFrame, dans un JPanel? – jeff

Répondre

3

Vous voulez utiliser un objet Timer Swing. Voici un Oracle tutorial

Pour commencer, vous devez demander à votre classe d'implémenter l'interface ActionListener. À l'intérieur de votre classe, vous devez également implémenter une méthode actionPerformed(). Enfin, vous devriez commencer la minuterie dans votre fonction principale() ou quelque part

timer = new Timer(5000, MyClass); 
timer.setInitialDelay(pause); 
timer.start(); 

Vous pouvez ensuite mettre en œuvre votre classe comme:

public class MyClass implements ActionListener 
{ 
    ... 

    void actionPerformed(ActionEvent e) { 
     /* 
     This is called every time the timer fires, put your code here 
     */ 
    } 
} 
+1

Merci beaucoup! Fonctionne parfaitement! –