【发布时间】:2012-12-05 22:41:30
【问题描述】:
所以我有一个JTextPane 和一个keyListener,并在每次按键后从窗格中获取文本。然后我尝试解析 HTML 标签以使它们具有不同的颜色。
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;
}
}
问题是当我输入时
<div
即使没有右括号,它也会输出
标签开始:div 标签结束:div
当我关闭标签时不应调用handleEndTag(),例如</div>,当我像这样正确结束标签时不应该调用handleStartTag():
<div>
【问题讨论】:
-
您能否发布 SSCCE 并描述所需行为与实际行为?
-
AFAIU JVM 会自动关闭尾随元素。但不要推得太远。