我正在使用JTextPane。如何找到JTextPane文檔的默認屬性?
JTextPane pane = new JTextPane();
String content = "I'm a line of text that will be displayed in the JTextPane";
StyledDocument doc = pane.getStyledDocument();
SimpleAttributeSet aSet = new SimpleAttributeSet();
如果我添加此aSet
到textpane的文件是這樣的:
doc.setParagraphAttributes(0, content.length(), aSet, false);
沒有可見發生。沒有大的驚喜,因爲我沒有爲aSet
設置任何自定義屬性。但是,如果我讓aSet
更換的doc
當前ParagraphAttributes這樣的:
doc.setParagraphAttributes(0, content.length(), aSet, true);
很多事情發生。我如何獲得有關JTextPane文檔的這些默認值的信息?特別是我的問題是,當我爲aSet
定義自定義字體並將其設置爲替換當前屬性時,字體顯示爲粗體。 StyleConstants.setBold(aSet, false);
沒有幫助。
設置aSet的屬性我使用'StyleConstants.setFontFamily(aSet,「Times New Roman」);'而且工作完全正常:)。你的回答告訴我,我認爲是粗體的文本是從默認的'[r = 51,g = 51,b = 51]'重置爲'[r = 0,g = 0,b = 0'的顏色屬性(前景) ]'。非常感謝你,非常樂於助人! – user2651804
@ user2651804很高興能幫到你!注意'StyleConstants.setXXX(aMutableSet,value)'方法存在於comodity中,它們只是調用'aMutableSet.addAttribute(StyleConstants.XXX,value)'。 [實施例](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/swing/text/StyleConstants.java#StyleConstants.setFontFamily%28javax.swing。 text.MutableAttributeSet%2Cjava.lang.String%29)。 – DSquare
這些類型的東西,旨在讓我們的生活更輕鬆,最終使一個新的Java程序員的生活複雜化,我猜... – user2651804