JTextPane類的對(duì)象可以顯示文本、圖片和超鏈接等,在創(chuàng)建了一個(gè)JTextPane類的純文本格式對(duì)象后,可以向里面填寫入文字(英文或漢字等)、插入超鏈接或圖片,但無法通過getText()方法獲得其中除文字以外的內(nèi)容,也即無法保存包含文字、圖片和超鏈接的完全對(duì)象內(nèi)容,而如果一開始創(chuàng)建的是JTextPane類的HTML格式對(duì)象,則雖然可以保存文字的樣式(顏色和字體、字號(hào)等)但無法再通過insertIcon()方法插入、顯示圖片,更不能直接保存了,考慮到的解決思路:①通過手工在HTML文件中插入<img src="02.gif">語句來實(shí)現(xiàn)對(duì)圖片的保存,可是這樣比較不容易實(shí)現(xiàn),需要將圖片保存在特定位置,才可以在下次打開JTextPane類對(duì)象是顯示出圖片;②創(chuàng)建JTextPane類的純文本對(duì)象,在插入圖片、超鏈接、設(shè)置字體樣式或其它任何對(duì)JTextPane類的對(duì)象進(jìn)行的格式設(shè)置時(shí)均記錄下設(shè)置的位置和內(nèi)容,并和文本內(nèi)容一起保存到硬盤文件中,下次讀取時(shí),按照記錄重新恢復(fù)原內(nèi)容,實(shí)現(xiàn)的過程更復(fù)雜;③將JTextPane對(duì)象通過對(duì)象序列化的方式在硬盤中保存為一個(gè)文件,下次讀取時(shí)再反序列化為完整對(duì)象。
最后,選擇了最好實(shí)現(xiàn)的第三種方法,序列化了JTextPane對(duì)象,表現(xiàn)出來的效果不錯(cuò)。不過,在實(shí)現(xiàn)過程中未考慮程序的運(yùn)行效率,現(xiàn)在也不太清楚,這樣的處理方式是不是比較沒有效率哩?
最后,選擇了最好實(shí)現(xiàn)的第三種方法,序列化了JTextPane對(duì)象,表現(xiàn)出來的效果不錯(cuò)。不過,在實(shí)現(xiàn)過程中未考慮程序的運(yùn)行效率,現(xiàn)在也不太清楚,這樣的處理方式是不是比較沒有效率哩?