Это код, который я использовал для выполнения именно того, что вы хотели бы сделать, но сначала позвольте мне дать вам несколько советов.
Если вы находитесь в среде Java Swing, обязательно используйте методы в пакетах javax.swing.text.html и javax.swing.text.html.parser. К сожалению, они в основном предназначены для использования на JEditorPane, но я все равно настоятельно рекомендую вам взглянуть на них.
В Java 6 API есть класс HTML.Tag, который идентифицирует начальный и конечный теги HTML, которые затем можно использовать для определения ссылок, по которым вы хотите, чтобы ваша программа следовала. http://java.sun.com/javase/6/docs/api/javax/swing/text/html/HTML.Tag.html
Когда я написал программу, очень похожую на эту, я использовал 3 основных метода:
public void handleStartTag(HTML.Tag t, MUtableAttributeSet atts, int pos)
public void handleEndTag(HTML.Tag t, int pos)
public void handleText(char[] text, int pos)
Если вам нужна дополнительная помощь о том, как написать эти методы, вы можете отправить мне сообщение, но в основном вы ищете начальный тег и конечный тег, а затем из него вы определили URL, а затем вы можете перейти к следующий шаг, следующий за URL.
Чтобы следовать URL, я советую вам использовать объект JEditorPane. Интерфейс javax.swing.event.HyperlinkListener определяет только один метод - hyperlinkUpdate (HyperlinkEvent e), в который можно передать URL-адрес, а затем вызвать .setPage (evt.getURL ()) для вашего объекта JEditorPane. Это обновит панель новой страницей и позволит вам начать процесс заново.
Сообщите мне, если у вас есть какие-либо проблемы, и, пожалуйста, проголосуйте за этот ответ!