Basically, you should be able to walk the document looking for the match(es) you need...
public class TestEditorPane01 {
public static void main(String[] args) {
new TestEditorPane01();
}
public TestEditorPane01() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
JEditorPane editor = new JEditorPane();
try {
editor.setPage(new File("Test.html").toURI().toURL());
} catch (Exception exp) {
exp.printStackTrace();
}
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new JScrollPane(editor));
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Document document = editor.getDocument();
try {
String find = "Method";
for (int index = 0; index + find.length() < document.getLength(); index++) {
String match = document.getText(index, find.length());
if (find.equals(match)) {
javax.swing.text.DefaultHighlighter.DefaultHighlightPainter highlightPainter =
new javax.swing.text.DefaultHighlighter.DefaultHighlightPainter(Color.YELLOW);
editor.getHighlighter().addHighlight(index, index + find.length(),
highlightPainter);
}
}
} catch (BadLocationException ex) {
ex.printStackTrace();
}
}
});
}
}
This will walk the entire document and highlight all the matches. This is also a case sensitve match ;)