已经设置好了一个7行7列的文本域
JTextArea a=new JTextArea(7,7);
假如我想在第3行的7列分别输入“1 2 3 4 5 6 7”,我应该怎么输入?
如果想在第4行第5列输入“hello”又该怎么办?
可以通过调用JTextArea的setText()和replaceRange()方法来实现
要在第3行的7列输入“1 2 3 4 5 6 7”,可以将整个文本内容设置为一个包含换行符和制表符的字符串,然后使用setText()方法将其设置为文本域的内容。具体实现如下:
String text = "1\t2\t3\t4\t5\t6\t7\n\n\n\n\n\n";
a.setText(text);
其中,\t表示制表符,\n表示换行符。在这个例子中,我们使用了3个换行符将光标移动到第3行。
如果想在第4行第5列输入“hello”,可以使用replaceRange()方法将文本域中该位置的内容替换为新的内容。具体实现如下:
a.replaceRange("hello", a.getLineStartOffset(3) + 4, a.getLineStartOffset(3) + 9);
在这个例子中,我们使用getLineStartOffset()方法获取第4行的起始偏移量,然后加上5和10,分别表示在第5列和第9列之间插入新的内容。
原文链接
JTextArea | 说明 |
---|---|
JTextArea() | 创建一个默认的文本域 |
JTextArea(int rows,int columns) | 创建一个具有指定行数和列数的文本域 |
JTextArea(String text) | 创建一个包含指定文本的文本域 |
JTextArea(String text,int rows,int columns) | 创建一个既包含指定文本,又包含指定行数和列数的多行文本域 |
//声明文本域
JTextArea ta = new JTextArea(8, 20);