與JTextPane關聯的StyledDocument使用什麼字體?默認情況下,它是否使用與JTextPane相同的字體?特別是,我想知道字體大小。與JTextPane關聯的StyledDocument的字體
3
A
回答
3
StyledDocument只是接口。界面沒有任何字體。
如果你看看DefaultStyledDocument類(實現接口)。
public Font getFont(AttributeSet attr) {
StyleContext styles = (StyleContext) getAttributeContext();
return styles.getFont(attr);
}
然後在的StyleContext的來源
public Font getFont(AttributeSet attr) {
// PENDING(prinz) add cache behavior
int style = Font.PLAIN;
if (StyleConstants.isBold(attr)) {
style |= Font.BOLD;
}
if (StyleConstants.isItalic(attr)) {
style |= Font.ITALIC;
}
String family = StyleConstants.getFontFamily(attr);
int size = StyleConstants.getFontSize(attr);
/**
* if either superscript or subscript is
* is set, we need to reduce the font size
* by 2.
*/
if (StyleConstants.isSuperscript(attr) ||
StyleConstants.isSubscript(attr)) {
size -= 2;
}
return getFont(family, style, size);
}
然後在StyleConstants。
public static int getFontSize(AttributeSet a) {
Integer size = (Integer) a.getAttribute(FontSize);
if (size != null) {
return size.intValue();
}
return 12;
}
2
相關UIManager
關鍵是TextPane.font
。 UIManager.get()
可以被用於確定用於所選擇的大號& F.例如值,Mac OS X上,此代碼產生以下控制檯輸出:
System.out.println(UIManager.get("TextPane.font"));
控制檯:
com.apple.laf.AquaFonts$DerivedUIResourceFont[ family=Lucida Grande,name=Lucida Grande,style=plain,size=13]
附錄:作爲在此example中,默認是StyleContext.NamedStyle
相匹配的用戶界面默認:
NamedStyle:default { name=default,font-style=, FONT_ATTRIBUTE_KEY=com.apple.laf.AquaFonts$DerivedUIResourceFont[ family=Lucida Grande,name=Lucida Grande,style=plain,size=13], font-weight=normal, font-family=Lucida Grande, font-size=4, }
附錄:這裏的C以迭代窗格的樣式:
JTextPane jtp = new JTextPane();
...
HTMLDocument doc = (HTMLDocument) jtp.getDocument();
StyleSheet styles = doc.getStyleSheet();
Enumeration rules = styles.getStyleNames();
while (rules.hasMoreElements()) {
String name = (String) rules.nextElement();
Style rule = styles.getStyle(name);
System.out.println(rule.toString());
}
相關問題
- 1. 如何替換JTextPane中的StyledDocument
- 2. 設置車身寬度StyledDocument中(的JTextPane)
- 3. 熒光筆與Java Swing的StyledDocument對比改變JTextPane中文本的顏色
- 4. Java使用StyledDocument更改JTextPane上元素的顏色
- 5. 使用StyledDocument設置jTextPane的樣式和文本
- 6. 實體框架:與可空字段關聯實體的問題
- 7. JTextArea和JTextPane字體呈現
- 8. JTextPane的等寬字體/符號
- 9. JTextPane更改某個起點的字體
- 10. 的JTextPane:如何設置字體大小
- 11. 插入與關聯的實體會導致重複關聯
- 12. 與3個實體關聯的ER圖
- 13. LibGDX Box2D的關聯體與對象
- 14. 與同一個TextView關聯的多種字體
- 15. Splitting StyledDocument
- 16. 關聯實體
- 17. 與關聯的Sequelize.build
- 18. 與Mongoid的關聯
- 19. 與Searchlogic的關聯
- 20. Rails與自定義字段的關聯
- 21. 關聯號字段與隱藏的div
- 22. 關聯本體中的類
- 23. 在JTextPane中設置字體寬度
- 24. ERD:關聯實體能否與弱實體有關係?
- 25. 使用連接與實體關聯
- 26. Rails窗體對象與Virtus:has_many關聯
- 27. 數據庫與同一實體記錄的關聯關係
- 28. 刪除實體時刪除與M:N關係的關聯
- 29. 保存與兩個實體之間的關係N-N關聯
- 30. 如何處理複合關鍵實體與Doctrine2的關聯?
從經驗上來說,這個默認值一直存在,直到它改變了,但我從來沒有追趕過它。 – trashgod