关于HTMLEditorKit的Java编程

时间:2013-08-06 20:31:09

标签: java html css

我的源代码如下。

我想仅控制字体颜色css。

我像这样插入HTML。

<span class="tag1">I love <span class="tag2">apple</span></span><span class="tag2"> pie</span>.

对于tag1,我希望“我爱苹果”变成红色字体。

但只有“我爱”才会变成红色字体。

我该如何解决?

    doc.getStyleSheet().addRule(".tag1 {color : red;}");

    try {

        kit.insertHTML(doc, doc.getLength(), "<span class=\"tag1\">I love <span class=\"tag2\">apple</span></span><span class=\"tag2\"> pie</span>.", 0, 0, null);
    } catch (IOException e1) {

        e1.printStackTrace();
    } catch (BadLocationException e1) {

        e1.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

这是因为当.tag1<span class="tag2">apple</span>span时,您只将红色设置为.tag1,因此它不会直接获取颜色css属性。 正如@hoosssein所说,如果你有span的默认(或任何)css颜色值,它将不会使用父的样式,这就是这里发生的事情。

您需要添加:

doc.getStyleSheet().addRule(".tag1 span {color : red;}");

因此.tag1 cls中的每个范围也会有红色。