1 22 23 package salsa.html; 24 25 import java.io.*; 26 import java.net.*; 27 import javax.swing.*; 28 import javax.swing.event.*; 29 import javax.swing.text.html.*; 30 import houston.*; 31 32 public class WebBrowser 33 { 34 static Logger T = Logger.getLogger( WebBrowser.class ); 35 36 private JEditorPane _browser; 37 38 public WebBrowser() 39 { 40 _browser = new JEditorPane(); 41 _browser.setEditable( false ); 42 _browser.setContentType( "text/html" ); 43 44 _browser.addHyperlinkListener( 45 new HyperlinkListener() 46 { 47 public void hyperlinkUpdate( HyperlinkEvent ev ) 48 { 49 if( ev.getEventType() == HyperlinkEvent.EventType.ACTIVATED ) 50 { 51 if( ev instanceof HTMLFrameHyperlinkEvent ) 52 { 53 JEditorPane p = ( JEditorPane ) ev.getSource(); 54 HTMLDocument doc = ( HTMLDocument ) p.getDocument(); 55 doc.processHTMLFrameHyperlinkEvent( ( HTMLFrameHyperlinkEvent ) ev ); 56 } 57 else 58 showDocument( ev.getURL() ); 59 } 60 } 61 } ); 62 } 63 64 public JComponent getComponent() 65 { 66 return _browser; 67 } 68 69 public void showDocument( URL url ) 70 { 71 try 72 { 73 _browser.setPage( url ); 74 } 75 catch( IOException ioex ) 76 { 77 Status.error( "*** failed to load URL: " + ioex.toString() ); 78 } 79 } 80 81 public void showHtmlText( String html ) 82 { 83 _browser.setText( html ); 84 } 85 } 86 | Popular Tags |