背景:想做一个自己用的TXT电子书管理程序,读取规范的TXT文件,生成html并在主panel显示。
问题:
   1. 文件可能会比较大,html代码又是动态生成的,并不是本来就在硬盘上的文件:
      有没有可能绑定一个outputstream到我的JEditorPane,buffer里生成一段html
      就往里送一段显示?
   2. JEditorPane有没有可能做到像浏览器显示大文件一样的,随着数据的取得,显
      示得越来越多,滚动条越来越短?如果能,怎样做到的?
   3. 怎样支持内部链接(<a href="#name">linkname</a>)? 看过的几个教程里面
      都是外部实际存在的文件地址,直接用html实现,然后点击link以后URL显示的是
      “文件地址#name”,可我的html数据都在内存里。===== =====先在这里谢谢诸位了,这几个问题困扰我好几天,也看了一些网上的教程,
有些东西仍然没搞明白。
哪位能给提点一下,小弟感激不尽!

解决方案 »

  1.   

    1.可以没生成一段送一段,只是把editorpane的text重新设置一次即可 pane.setText(pane.getText()+"xxxx");    
    2.同一,只不过1是把数据从内存里取出来。
    3.可以直接转向url那你就可以判断不让它转向啊 在取得 e.geturl的时候 做自己的处理不用 setpage方法。比如 解析url 生成新的 html文件 在返回第一步 settext。
      

  2.   

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