2009-08-27 12 views
2

私は毎秒テキストエリアにテキストを追加しています。古いテキストを上書きしたり消去したりするために、1秒ごとに新しいデータを書きたいと思いますか?textareaの内容を上書きするjava

おかげraksha

+0

あなたのコードは何をしていますか? setTextは現在のテキストを削除し、指定した内容を新しいテキストとして入力します。 setTextに渡すパラメータに新しいテキストが追加された前のテキストが実際に含まれている可能性はありますか?コードのスニペットを表示できますか? – DaveJohnston

答えて

2

は、私はあなたがスイングJTextAreaについて話していると思います。

あなただけのテキストを置き換えるために、それにsetText(...)を呼び出すことができます。定期的にあなたには、いくつかのスレッドを必要とする何かを行うには

JTextArea textArea = ...; 

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

私は試してみましたが、追加しています –

+0

本当に追加していますか?いくつかのデバッグを行います:あなたがsetText()に渡しているものを確認してください。新しいテキストだけですか、それとも古いテキスト+新しいテキストに設定していますか? – Jesper

+0

ありがとうございました –

0

が、SwingWorkerを使用して注意してください。そうでない場合、GUIがフリーズすることがあります。

 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

バックグラウンドスレッドはJTextAreaを更新すべきではありません。 –

関連する問題