在循环中打印textarea中的文本

时间:2013-11-18 11:51:05

标签: java

我在java中有一个按钮,单击时调用一个函数,该函数工作正常,但for循环不会刷新文本区域。而不是在函数的末尾(10s之后)它只在文本区域中显示i = 10。我只是想让文本区域刷新并在每秒显示i并替换i。我不想立刻展示它们,只需更换它们;

int i;
for (i = 0; i<4; i++)
{
    try
    { 
        input.setText("i = " + i);
        Thread.sleep(1000); // delay of 1.000 seconds 
    } 
    catch(InterruptedException e)
    {
    }
}

1 个答案:

答案 0 :(得分:1)

假设您正在使用Swing,您可以尝试使用append,因为我知道这可以添加到textarea:

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        input.append("i = " + i + "\n");
    }
});

正如Maroun建议的那样,在此之后使用Timer来增加你的追加速度。