ユーザーからの入力を取得してラベルに印刷し、エントリごとに更新する関数をセットアップしようとしています。更新は、古いラベルを削除してから、更新された値でラベルを追加することによって行われます。テキストは中央揃えになります。「エントリ」の現在の値を印刷するラベルを取得することはできますが、古い値のラベルを削除せずに印刷します。どうすればこの問題を修正できるのだろうかと思っていました。
import acm.graphics.*;
import acm.program.*;
public class testCanvas extends ConsoleProgram {
public void run()
{
GCanvas canvas = new GCanvas();
add(canvas);
String entry ="";
while(true)
{
entry += readLine("Give me a word: ");
if(entry=="") break;
GLabel label = new GLabel(entry);
label.setLocation(200-label.getWidth()/2,
60+label.getHeight());
label.setFont("Times New Roman-24");
// remove old label and immediately update it with
// label with current value for "entry"
canvas.remove(label);
canvas.add(label);
}
}
}