首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >限制JTextPane内存使用

限制JTextPane内存使用
EN

Stack Overflow用户
提问于 2010-01-05 22:29:37
回答 2查看 1.8K关注 0票数 7

我有一个应用程序,它连续接收套接字上的数据,然后将这些数据记录到一个文件中,同时还在JTextPane中显示这些数据。当然,随着数据写入JTextPane的底层文档,内存使用量也会继续增加。

有没有一种简单的方法来限制JTextPane允许使用的内存?我希望JTextPane的工作方式类似于典型命令外壳的命令历史记录。

EN

Stack Overflow用户

回答已采纳

发布于 2010-01-05 22:35:17

只需检查内容并相应地将其擦除到最大缓冲区大小。因为它是一个JTextPane,所以您需要处理Text窗格使用document类:

代码语言:javascript
运行
复制
void clampBuffer(int incomingDataSize)
{
   Document doc = textPane.getStyledDocument();
   int overLength = doc.getLength() + incomingDataSize - BUFFER_SIZE;

   if (overLength > 0)
   {
      doc.remove(0, over_length);
   }
}

这只是我写的一小段,没有亲自检查过..这只是给你一个想法。当然,它应该在将文本添加到textPane之前运行。

顺便说一句,如果你没有使用JTextPane丰富的编辑器功能,我建议你使用一个轻量级的JTextArea

票数 7
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2006615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档