在 JEditorPane 中设置默认字体
2022-09-03 03:24:34
editorPane.setContentType("text/html");
editorPane.setFont(new Font("Segoe UI", 0, 14));
editorPane.setText("Hello World");
这不会更改文本的字体。我需要知道如何使用HTML编辑器工具包为JEditorPane设置默认字体。
编辑:
editorPane.setContentType("text/html");
editorPane.setFont(new Font("Segoe UI", 0, 14));
editorPane.setText("Hello World");
这不会更改文本的字体。我需要知道如何使用HTML编辑器工具包为JEditorPane设置默认字体。
编辑:
试试这个:
JEditorPane pane = new JEditorPane();
pane.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE);
pane.setFont(SOME_FONT);
所有功劳归 de-co-de 博主所有!资料来源:http://de-co-de.blogspot.co.uk/2008/02/setting-font-in-jeditorpane.html
我刚刚测试了它。这使得JEditorPane使用与JLabel相同的字体
JEditorPane pane = new JEditorPane();
pane.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE);
pane.setFont(someOrdinaryLabel.getFont());
完美工作。
在渲染HTML时,JEditorPane的字体需要通过其样式表进行更新:
JEditorPane editorPane =
new JEditorPane(new HTMLEditorKit().getContentType(),text);
editorPane.setText(text);
Font font = new Font("Segoe UI", Font.PLAIN, 24));
String bodyRule = "body { font-family: " + font.getFamily() + "; " +
"font-size: " + font.getSize() + "pt; }";
((HTMLDocument)editorPane.getDocument()).getStyleSheet().addRule(bodyRule);