Это код, который я использовал для достижения именно то, что вы» d хотел бы сделать, но сначала позвольте мне дать вам несколько советов.
Если вы находитесь в среде 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-адресом.
Чтобы следовать указателю, я советую вам использовать объект JEditorPane. Javax.swing.event.Интерфейс HyperlinkListener определяет только один метод hyperlinkUpdate (HyperlinkEvent e), который вы можете передать URL-адрес, а затем вызвать .setPage (evt.getURL()) на свой объект JEditorPane. Затем будет обновлена панель с новой страницей и вы сможете снова запустить процесс.
Msg me если у вас есть какие-либо вопросы и, пожалуйста, проголосовать за этот ответ!
Мне нужно сделать это, используя код Java. –
http://www.benmccann.com/dev-blog/java-html-parsing-library-comparison/ – trunkc