java编程心得(五)——JTextArea中用指定的新文本替换原有的某段文本并实现动态刷新

今天想实现动态刷新JTextArea文本域,并用指定的新文本替换原有的最后一行文本,以实现动态刷新进度值的效果~纠结了很久,最后发现用replaceRange函数就可以了!现将代码贴出来与大家分享:

 

int start,end;

try

{

    start = jTextArea.getLineStartOffset(11)[S1] ; 

    end = jTextArea.getLineEndOffset(11);

    jTextArea.replaceRange[S2] ("当前进度:"+currentNum+"/"+totalNum+"/n",start,end);

    jTextArea.paintImmediately[S3] (mainMenu.trainTextArea.getBounds());

} catch (BadLocationException e) {

     e.printStackTrace();

}

 [S1]该语句获取第11行首的偏移值(行号从0开始计算),这个偏移值是针对整个JTextArea中的文本算的,包括换行符。

 [S2]该方法即可将原有文本中startend之间的内容替换为新文本(作为第一个参数传入)!!

 [S3]该方法用于立即重画实现动态及时刷新

你可能感兴趣的:(java,编程)