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
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 }