3

だから私は aJTextPaneを持っていて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>

4

1 に答える 1

0

JavaDocDocumentParserをチェックすると、HTMLEditorKit.ParserCallback

これは、すべての有効なタグ、および暗示されているが明示的に指定されていないタグのコールバックにメッセージを送信します。

あなたはそれを確認することができます

暗示されているタグの場合、AttributeSet 引数は、キー HTMLEditorKit.ParserCallback.IMPLIED に​​対して Boolean.TRUE の値を持ちます。

于 2013-02-26T16:31:50.697 に答える