首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Swing HTML解析器的方法未按预期工作

问Java Swing HTML解析器的方法未按预期工作
EN

Stack Overflow用户
提问于 2012-12-19 00:56:23
回答 1查看 250关注 0票数 3

所以我有一个带有keyListener的JTextPane,并在每次按键后从窗格中获取文本。然后,我尝试解析HTML标记,以便使它们具有不同的颜色。

代码语言:javascript
复制
public void handleStartTag(HTML.Tag tag, MutableAttributeSet a, int pos)
{   
    if (tag == HTML.Tag.DIV)
    {
        System.out.println("tag Started:" + tag);
        tagFound = true;
    }
}

public void handleEndTag(HTML.Tag tag, int pos)
{
    if (tag == HTML.Tag.DIV)
    {
        System.out.println("tag Ended:" + tag);
        tagFound = false;
    }
}

问题是当我输入

代码语言:javascript
复制
<div

即使没有右括号,它也会输出

标签开始:div标签结束:div

当我结束一个标签例如</div>时不应该调用handleEndTag()吗?当我正确地结束标签时不应该调用handleStartTag()吗:<div>

EN

回答 1

Stack Overflow用户

发布于 2013-02-27 00:31:51

如果您检查HTMLEditorKit.ParserCallback使用的JavaDoc for DocumentParser

这将为所有有效标记、以及隐含但未显式指定的标记发送回调消息。

你可以检查一下

对于隐含的标记,对于键HTMLEditorKit.ParserCallback.IMPLIED,AttributeSet参数的值将为Boolean.TRUE。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13937820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档