我正在嘗試改進文檔顯示組件的現有實現。表達的擔憂之一是,當加載大量文本時,我們會得到一個OOM異常。JTextPane是否支持文本內存分頁?
從我之前使用.net的經驗來看,我確實知道某些基本組件實現了分頁,因此並沒有將所有文本都可視化地加載到文檔中,因此事情不僅更快,而且希望避免OOM異常。
所以我想知道是否有任何基礎擺動組件,特別是JTextPanel,它支持這些功能?
謝謝你的幫助是極大的讚賞
我正在嘗試改進文檔顯示組件的現有實現。表達的擔憂之一是,當加載大量文本時,我們會得到一個OOM異常。JTextPane是否支持文本內存分頁?
從我之前使用.net的經驗來看,我確實知道某些基本組件實現了分頁,因此並沒有將所有文本都可視化地加載到文檔中,因此事情不僅更快,而且希望避免OOM異常。
所以我想知道是否有任何基礎擺動組件,特別是JTextPanel,它支持這些功能?
謝謝你的幫助是極大的讚賞
不,JTextPane
不支持內存頁面。您可以創建一個Docuemnt
實例,並將文件內容讀入Document
,而不在JTextPane
中安裝Document
。 然後獲得Document
的所需片段,並將其插入到另一個片段中,僅顯示所需的片段。
似乎搖擺解耦其演示文檔的實際存儲。
我認爲你應該能夠通過定義一個AbstractDocument.Content
實現來實現你想要的功能,該實現負責內存管理(例如分頁)。
的DefaultStyledDocument
發生在其構造方法的AbstractDocument.Content
,並且JTextPane
需要StyledDocument
,所以如果你定義了實現你應該能夠插上。
我沒有嘗試這樣做,所以它只是一個建議 - 你可能能夠在網上找到實現。