我正在制作一个具有 JTextArea 的程序。我正在使用 append() 方法向其添加文本。我希望文本就像有人在 JTextArea 中输入一样,即它应该输入一个字符,然后等待 400 毫秒,输入下一个字符,然后再次等待,依此类推。 这是我的代码:
public void type(String s)
{
char[] ch = s.toCharArray();
for(int i = 0; i < ch.length; i++)
{
// ta is the JTextArea
ta.append(ch[i]+"");
try{new Robot().delay(400);}catch(Exception e){}
}
}
但这不起作用。它等待几秒钟,不显示任何内容,然后立即显示整个文本。请提出建议。
最佳答案
改用javax.swing.Timer
。保留对 JTextArea
实例和字符索引的引用。在每个 actionPerformed()
调用中,将当前字符附加到 JTextArea
。当 char 索引等于 char 数组长度时停止计时器
关于java - 在 JTextArea 中对文本进行键入效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652483/