View Javadoc

1   package de.orangecafe.amazonrcp.gui.views;
2   
3   import org.springframework.richclient.application.support.AbstractView;
4   import org.springframework.richclient.application.event.LifecycleApplicationEvent;
5   import org.springframework.context.ApplicationEvent;
6   import org.springframework.context.ApplicationListener;
7   import org.jdesktop.jdic.browser.WebBrowser;
8   
9   import javax.swing.*;
10  import java.net.URL;
11  import java.awt.*;
12  
13  /**
14   * @author Torsten Strasser
15   */
16  public class BrowserView extends AbstractView implements ApplicationListener {
17      private WebBrowser _browser;
18      private URL _url;
19  
20      public BrowserView() {
21           _browser = new WebBrowser();
22      }
23  
24      protected JComponent createControl() {
25          JPanel panel = getComponentFactory().createPanel();
26          panel.setLayout(new BorderLayout());
27          panel.setPreferredSize(new Dimension(700, 500));
28          panel.add(_browser, BorderLayout.CENTER);
29  
30          return panel;
31      }
32  
33      public void onApplicationEvent(final ApplicationEvent event) {
34          if (event instanceof LifecycleApplicationEvent) {
35              LifecycleApplicationEvent le = (LifecycleApplicationEvent) event;
36  
37              if (le.getEventType().equals(LifecycleApplicationEvent.MODIFIED) && le.objectIs(URL.class)) {
38                  _url = (URL) le.getObject();
39              }
40          }
41      }
42  
43      @Override
44      public void componentFocusGained() {
45          super.componentFocusGained();
46  
47          if (_url != null) {
48              _browser.setURL(_url);
49          }
50      }
51  }