所以我正在努力创建一个将字母“键入”到JTextArea中的类,在每个字母之间暂停以使其看起来像某人正在键入。我能想出的唯一方法是在循环中使用output.append(char)并暂停。唯一的问题是...你只能将字符串附加到JTextAreas。
那么有没有办法将char转换为字符串,以便我可以逐个字母地附加它?
到目前为止,这是我的代码:
import objectdraw.*;
import java.awt.*;
import javax.swing.*;
public class TypeWriter extends ActiveObject
implements Drawable {
private char [] letter;
private JTextArea cp;
public TypeWriter(String sentence, JTextArea console) {
/* break string into characters and save the console
* for later use
*/
letter = new char[sentence.length()];
cp = console;
for(int i=0; i<sentence.length(); i++) {
letter[i] = sentence.charAt(i);
}
start();
}
public void run() {
// append each letter, pausing between them
for( char s : letter ) {
cp.append(new String(s));
pause(50);
}
}
/* More methods for the
* Drawable interface...
*/
}
答案 0 :(得分:3)
使用String(char [] value)构造函数
String s = "";
s += Character.toString('s');
答案 1 :(得分:2)
不要使用字符。
String foo = "This is a String";
for (int i = 0; i < foo.length(); i++)
{
String subString = foo.substring(i, i+1);
cp.append(subString);
pause(50);
}