2012-05-01 23 views
3

我正在嘗試改進文檔顯示組件的現有實現。表達的擔憂之一是,當加載大量文本時,我們會得到一個OOM異常。JTextPane是否支持文本內存分頁?

從我之前使用.net的經驗來看,我確實知道某些基本組件實現了分頁,因此並沒有將所有文本都可視化地加載到文檔中,因此事情不僅更快,而且希望避免OOM異常。

所以我想知道是否有任何基礎擺動組件,特別是JTextPanel,它支持這些功能?

謝謝你的幫助是極大的讚賞

回答

0

不,JTextPane不支持內存頁面。您可以創建一個Docuemnt實例,並將文件內容讀入Document,而不在JTextPane中安裝Document。 然後獲得Document的所需片段,並將其插入到另一個片段中,僅顯示所需的片段。

3

似乎搖擺解耦其演示文檔的實際存儲。

我認爲你應該能夠通過定義一個AbstractDocument.Content實現來實現你想要的功能,該實現負責內存管理(例如分頁)。

DefaultStyledDocument發生在其構造方法的AbstractDocument.Content,並且JTextPane需要StyledDocument,所以如果你定義了實現你應該能夠插上。

我沒有嘗試這樣做,所以它只是一個建議 - 你可能能夠在網上找到實現。