[求助]用JEditorPane显示html的问题

poimarine 2009-08-11 06:39:32
背景:想做一个自己用的TXT电子书管理程序,读取规范的TXT文件,生成html并在主panel显示。
问题:
1. 文件可能会比较大,html代码又是动态生成的,并不是本来就在硬盘上的文件:
有没有可能绑定一个outputstream到我的JEditorPane,buffer里生成一段html
就往里送一段显示?
2. JEditorPane有没有可能做到像浏览器显示大文件一样的,随着数据的取得,显
示得越来越多,滚动条越来越短?如果能,怎样做到的?
3. 怎样支持内部链接(<a href="#name">linkname</a>)? 看过的几个教程里面
都是外部实际存在的文件地址,直接用html实现,然后点击link以后URL显示的是
“文件地址#name”,可我的html数据都在内存里。

===== =====

先在这里谢谢诸位了,这几个问题困扰我好几天,也看了一些网上的教程,
有些东西仍然没搞明白。
哪位能给提点一下,小弟感激不尽!
...全文
338 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
poimarine 2009-08-13
  • 打赏
  • 举报
回复
回复 3楼:

首先谢谢您的指点!

有的文本可能达到几个MB,加上html的tag以后会更大,重复的setText会不会影响速度而违背使用buffer的初衷啊?
我想达到的效果就是,在文本文件被打开并转化为html的过程中,处理完成的部分可以先显示出来,让我可以阅读,包括翻动滚动条,而后面处理出来的html源源不断的被加到后面显示。
setText会不会重置滚动条的位置?到后面setText的文本越来越大,会不会出现卡的情况,影响阅读?

不管怎么说,我先试试您说的方法,再次感谢!
一洽客服系统 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 poimarine 的回复:]
背景:想做一个自己用的TXT电子书管理程序,读取规范的TXT文件,生成html并在主panel显示。
问题:
  1. 文件可能会比较大,html代码又是动态生成的,并不是本来就在硬盘上的文件:
      有没有可能绑定一个outputstream到我的JEditorPane,buffer里生成一段html
      就往里送一段显示?
  2. JEditorPane有没有可能做到像浏览器显示大文件一样的,随着数据的取得,显
      示得越来越多,滚动条越来越短?如果能,怎样做到的?
  3. 怎样支持内部链接( <a href="#name">linkname </a>)? 看过的几个教程里面
      都是外部实际存在的文件地址,直接用html实现,然后点击link以后URL显示的是
      “文件地址#name”,可我的html数据都在内存里。

===== =====

先在这里谢谢诸位了,这几个问题困扰我好几天,也看了一些网上的教程,
有些东西仍然没搞明白。
哪位能给提点一下,小弟感激不尽!
[/Quote]
1.可以没生成一段送一段,只是把editorpane的text重新设置一次即可 pane.setText(pane.getText()+"xxxx");
2.同一,只不过1是把数据从内存里取出来。
3.可以直接转向url那你就可以判断不让它转向啊 在取得 e.geturl的时候 做自己的处理不用 setpage方法。比如 解析url 生成新的 html文件 在返回第一步 settext。
凡员外 2009-08-12
  • 打赏
  • 举报
回复
buffer里生成一段html
poimarine 2009-08-11
  • 打赏
  • 举报
回复
趁晚上人多
赶紧把我这贴顶上来
哪位高手帮忙提点一下
小弟感激不尽!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧