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

本文介绍如何在Java中利用JTextArea的replaceRange函数动态替换文本域的最后一行,并实现进度值的实时更新。通过获取指定行的起始和结束偏移量,然后调用replaceRange方法,可以实现内容的替换。最后使用paintImmediately方法强制即时重绘,达到动态刷新效果。

今天想实现动态刷新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]该方法用于立即重画实现动态及时刷新

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值