2009-08-27 6 views
2

J'ai ajouté du texte à la zone de texte pour chaque seconde je voulais écraser ou effacer l'ancien texte et je veux écrire de nouvelles données pour chaque sec comment faire cela en java?remplacer le contenu de textarea java

Merci Raksha

+0

Que fait votre code? setText devrait supprimer le texte actuel et entrer tout ce que vous spécifiez comme nouveau texte. Est-il possible que le paramètre que vous transmettez à setText contienne effectivement le texte précédent avec le nouveau texte ajouté? Pouvez-vous nous montrer un extrait de votre code? – DaveJohnston

Répondre

2

Je suppose que vous parlez d'un swing JTextArea.

Vous pouvez simplement appeler setText(...) sur pour remplacer le texte:

JTextArea textArea = ...; 

textArea.setText("Hello World"); 
+0

J'ai essayé mais son ajout –

+0

Etes-vous sûr qu'il est ajouté? Faire du débogage: Vérifiez ce que vous passez à setText(). Est-ce le nouveau texte seulement, ou est-ce que vous le placez dans l'ancien texte + nouveau texte? – Jesper

+0

ses remerciements de travail –

0

Pour faire quelque chose dont vous avez besoin périodiquement un fil, mais il faut savoir utiliser SwingWorker. Si ce n'est pas votre interface graphique peut geler.

 final JTextArea ta = frame.getjTextArea1(); 

     SwingWorker worker = new SwingWorker() { 

      @Override 
      protected Object doInBackground() throws Exception { 
       while (true) { 
        ta.setText(""); 
        ta.setText(new Date().toString()); 
        Thread.sleep(1000); 
       } 
      } 
     }; 
     worker.execute(); 
+0

Le thread de backgraound ne doit pas mettre à jour JTextArea. –

Questions connexes