有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

HTML JTextPane CSS的Java FontSizeAction

使用代码时:

Action sizeAction = new StyledEditorKit.FontSizeAction(String.valueOf(size), size);

指定操作的按钮将插入HTML标记:

<FONT SIZE="5"> My text here </FONT> 

当我执行其他功能时,这会导致字体大小的比例非常不准确。相反,我想要的是插入一个样式标签来更改字体大小,例如

<FONT STYLE="font-size: 16pt;"> My text here </FONT>

如何更改FONTSIZE操作插入的标记


共 (1) 个答案

  1. # 1 楼答案

    找到了解决问题的更好方法!只需创建一个新动作,并更改添加属性的方式

    private class FontSizeAction extends HTMLEditorKit.FontSizeAction {
        private int size;
    
        public FontSizeAction(int size) {
            super("font-size-" + size, size);
            this.size = size;
        }
    
        @Override
        public void actionPerformed(ActionEvent ae) {
            JEditorPane editor = getEditor(ae);
            if (size > 0) {
               MutableAttributeSet attr = new SimpleAttributeSet();
               attr.addAttribute(StyleConstants.FontSize, size + "pt");
               setCharacterAttributes(editor, attr, false);
            } else UIManager.getLookAndFeel().provideErrorFeedback(editor);   
        }
    }