OSDN Git Service

プラットフォームごとのStigmataのホームディレクトリの場所を返す一連のクラスをリファクタリングした.
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / ui / swing / actions / LinkFollower.java
1 package jp.sourceforge.stigmata.ui.swing.actions;
2
3 /*
4  * $Id$
5  */
6
7 import java.awt.Desktop;
8 import java.net.URL;
9
10 import javax.swing.event.HyperlinkEvent;
11 import javax.swing.event.HyperlinkListener;
12
13 /**
14  *
15  * @author Haruaki Tamada
16  * @version $Revision$ 
17  */
18 class LinkFollower implements HyperlinkListener{
19     @Override
20     public void hyperlinkUpdate(HyperlinkEvent e){
21         if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
22             URL url = null;
23             try{
24                 url = e.getURL();
25                 browse(url);
26             } catch(RuntimeException ee){
27                 throw ee;
28             } catch(Exception ee){
29                 ee.printStackTrace();
30             }
31         }
32     }
33
34     private void browse(URL url) throws Exception{
35         Desktop desktop = Desktop.getDesktop();
36         if(desktop.isSupported(Desktop.Action.BROWSE)){
37                 desktop.browse(url.toURI());
38         }
39     }
40 }