限定JTextArea显示500行,且JTextArea放入一个ScrollPane中,新的内容滚动显示在底部,如果显示的行数达到了500行,新的内容仍会滚动显示在底部,但最早的记录会被冲掉。
如何实现这种限制JTextArea显示行数?难道要自己先获取JTextArea中的内容,然后自己解析去掉最早显示的内容吗?
请高手指点,谢谢先。
如何实现这种限制JTextArea显示行数?难道要自己先获取JTextArea中的内容,然后自己解析去掉最早显示的内容吗?
请高手指点,谢谢先。
int lineNum = 0;
for(int i=0; i<5000; i++)
{
lineNum = text.getLineCount();
if(lineNum>100)
{
for(int j=0;j<50;j++)
{
String tmp = text.getText();
int index = tmp.indexOf("\n");
try {
text.getDocument().remove(0, index+1);
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
text.append(str); //text是一个JTextArea
}
//在每加入一条新消息的时候,都会自动在消息末尾添加换行符“\n”