Java/Network Protocol/Hyperlink — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 10:21, 1 июня 2010
How to change mouse cursor during mouse-over action on hyperlinks
<source lang="java">
import javax.swing.JEditorPane; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; import javax.swing.text.html.HTMLDocument; import javax.swing.text.html.HTMLFrameHyperlinkEvent; public class Main implements HyperlinkListener {
private JEditorPane pane; public Main(JEditorPane jep) { pane = jep; } public void hyperlinkUpdate(HyperlinkEvent he) { HyperlinkEvent.EventType type = he.getEventType(); if (type == HyperlinkEvent.EventType.ENTERED) { System.out.println(he.getURL().toString()); } else if (type == HyperlinkEvent.EventType.EXITED) { System.out.println("exit"); } else if (type == HyperlinkEvent.EventType.ACTIVATED) { if (he instanceof HTMLFrameHyperlinkEvent) { HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent) he; HTMLDocument doc = (HTMLDocument) pane.getDocument(); doc.processHTMLFrameHyperlinkEvent(evt); } else { try { pane.setPage(he.getURL()); System.out.println(he.getURL().toString()); } catch (Exception e) { e.printStackTrace(); } } } }
}
</source>
Listening for Hyperlink Events from a JEditorPane Component
<source lang="java">
import java.io.IOException; import javax.swing.JEditorPane; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; public class Main {
public static void main(String[] argv) throws Exception{ String url = "http://java.sun.ru"; JEditorPane editorPane = new JEditorPane(url); editorPane.setEditable(false); editorPane.addHyperlinkListener(new MyHyperlinkListener()); }
} class MyHyperlinkListener implements HyperlinkListener {
public void hyperlinkUpdate(HyperlinkEvent evt) { if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { JEditorPane pane = (JEditorPane) evt.getSource(); try { // Show the new page in the editor pane. pane.setPage(evt.getURL()); } catch (IOException e) { } } }
}
</source>