想用JTextArea显示一个很大的不可编辑的文本,大约30M。文本内容已经存储在一个ArrayList当中,如果先把ArrayList转换成一个大的String 然后容JTextArea.setText(), 过程非常消耗内存和cpu, 用这种方法256M的内存中居然无法打开20M的文本。所以我想尝试自己实现Document接口。
然后我发现实际PlainDocument类可以用一个AbstractDocument.Content接口的实现来构造,那是不是我只要实现AbstractDocument.Content接口就可以了呢? 由于限定了文本是不可编辑的所以我只实现了createPosition(),length(),getChars()和createPosition(). 但是还是无法显示出文本,望高手指点。
|
|