如何让Java StyleSheet类优先于Java 7中的外部CSS样式表?

时间:2013-01-16 02:58:52

标签: java html css

我正在尝试使用外部CSS样式表来为我在JEditorPane中显示的网页提供默认标记属性。我正在尝试使用Java的StyleSheet类来覆盖我的网页链接到的外部样式表中定义的特定标记属性。我正在使用以下代码:

    editorPane = new JEditorPane();
    editorPane.setEditable(false);
    editorPane.setContentType("text/html");
    try
    {
        editorPane.setPage(new URL("file:///c:/users/ryan/desktop/htmlviewer.htm"));
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }

    HTMLEditorKit editorKit = new HTMLEditorKit();
    editorPane.setEditorKit(editorKit);
    HTMLDocument document = (HTMLDocument) editorKit.createDefaultDocument();

    StyleSheet styleSheet = document.getStyleSheet();
    styleSheet.addRule("p { color:#0000ff; }");

    editorKit.setStyleSheet(styleSheet);

    add(editorPane);

我的外部CSS样式表包含以下行:

p {color:#ff0000; }

当我在Java 6中运行它时,p标签的文本颜色是#0000ff。但是当我在Java 7中运行它时,p标签的文本颜色是#ff0000。

为什么行为改变了?有没有办法让我在Java中定义的CSS属性优先于我的外部CSS样式表中定义的CSS属性?示例代码将不胜感激。

0 个答案:

没有答案