私は毎秒テキストエリアにテキストを追加しています。古いテキストを上書きしたり消去したりするために、1秒ごとに新しいデータを書きたいと思いますか?textareaの内容を上書きするjava
おかげraksha
私は毎秒テキストエリアにテキストを追加しています。古いテキストを上書きしたり消去したりするために、1秒ごとに新しいデータを書きたいと思いますか?textareaの内容を上書きするjava
おかげraksha
は、私はあなたがスイングJTextArea
について話していると思います。
あなただけのテキストを置き換えるために、それにsetText(...)
を呼び出すことができます。定期的にあなたには、いくつかのスレッドを必要とする何かを行うには
JTextArea textArea = ...;
textArea.setText("Hello World");
私は試してみましたが、追加しています –
本当に追加していますか?いくつかのデバッグを行います:あなたがsetText()に渡しているものを確認してください。新しいテキストだけですか、それとも古いテキスト+新しいテキストに設定していますか? – Jesper
ありがとうございました –
が、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();
バックグラウンドスレッドはJTextAreaを更新すべきではありません。 –
あなたのコードは何をしていますか? setTextは現在のテキストを削除し、指定した内容を新しいテキストとして入力します。 setTextに渡すパラメータに新しいテキストが追加された前のテキストが実際に含まれている可能性はありますか?コードのスニペットを表示できますか? – DaveJohnston