0

JEditorPane、文字列を検索したいのですが、scrollToReferenceうまくいかないことがわかっているので、ペインを反復処理して指定された文字列を見つける方法を知りたいです。

JEditorPanejavaで指定された文字列を見つけるためにaを反復処理するにはどうすればよいですか?

4

2 に答える 2

4

@Mad's answerを拡張すると、あなたDocumentが の場合は、ここに示すように、HTMLDocumentを使用して調べることができます。ElementIterator

于 2012-11-22T01:55:38.550 に答える
4

私が考えることができる最も簡単な方法は、単にドキュメントをウォークスルーすることです。

Document document = editor.getDocument();
try {
    String find = //... String to find
    for (int index = 0; index + find.length() < document.getLength(); index++) {
        String match = document.getText(index, find.length());
        if (find.equals(match)) {
            // You found me
        }
    }
} catch (BadLocationException ex) {
    ex.printStackTrace();
}

この概念に基づいて「次の単語を見つける」ためのルーチンをいくつか書くことができます

また、JEditorPaneJava の Highlight a word - Scroll to specific text within JTextAreaを見つけることもできます。これらは両方とも同様のアプローチを使用して異なることを達成します

于 2012-11-22T01:51:34.413 に答える