OSDN Git Service

change package name. jp.naist.se.stigmata -> jp.sourceforge.stigmata
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / ui / swing / actions / LinkFollower.java
diff --git a/src/main/java/jp/sourceforge/stigmata/ui/swing/actions/LinkFollower.java b/src/main/java/jp/sourceforge/stigmata/ui/swing/actions/LinkFollower.java
new file mode 100755 (executable)
index 0000000..3c14063
--- /dev/null
@@ -0,0 +1,39 @@
+package jp.sourceforge.stigmata.ui.swing.actions;
+
+/*
+ * $Id$
+ */
+
+import java.lang.reflect.Method;
+import java.net.URL;
+
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
+
+/**
+ *
+ * @author Haruaki Tamada
+ * @version $Revision$ $Date$
+ */
+class LinkFollower implements HyperlinkListener{
+    public void hyperlinkUpdate(HyperlinkEvent e){
+        if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
+            URL url = null;
+            try{
+                url = e.getURL();
+                browse(url);
+            } catch(RuntimeException ee){
+                throw ee;
+            } catch(Exception ee){
+                ee.printStackTrace();
+            }
+        }
+    }
+
+    private void browse(URL url) throws Exception{
+        Class<?> c = Class.forName("edu.stanford.ejalbert.BrowserLauncher");
+        Object o = c.newInstance();
+        Method m = c.getMethod("openURLinBrowser", String.class);
+        m.invoke(o, url.toString());
+    }
+}
\ No newline at end of file