Das JoToSwtSnipped demonstriert die Verwendung der nativen Swt UI Referenz in einer jowidgets Applikation:
1 package org.jowidgets.examples.swt.snipped;
2
3 import org.eclipse.swt.SWT;
4 import org.eclipse.swt.browser.Browser;
5 import org.eclipse.swt.widgets.Composite;
6 import org.jowidgets.api.layout.FillLayout;
7 import org.jowidgets.api.toolkit.Toolkit;
8 import org.jowidgets.api.widgets.IComposite;
9 import org.jowidgets.api.widgets.IFrame;
10 import org.jowidgets.common.application.IApplication;
11 import org.jowidgets.common.application.IApplicationLifecycle;
12 import org.jowidgets.tools.widgets.blueprint.BPF;
13
14 public final class JoToSwtSnipped implements IApplication {
15
16 @Override
17 public void start(final IApplicationLifecycle lifecycle) {
18 //create the root frame
19 final IFrame frame = Toolkit.createRootFrame(BPF.frame("JoToSwt Snipped"), lifecycle);
20 frame.setSize(1024, 768);
21 frame.setLayout(FillLayout.get());
22
23 //create a regular jo composite
24 final IComposite joComposite = frame.add(BPF.composite());
25
26 //get the native ui reference which must be a swt composite
27 //because swt SPI impl is used
28 final Composite swtComposite = (Composite) joComposite.getUiReference();
29 swtComposite.setLayout(new org.eclipse.swt.layout.FillLayout());
30
31 //create a swt browser
32 final Browser browser = new Browser(swtComposite, SWT.NONE);
33 browser.setUrl("http://www.jowidgets.org/");
34
35 //set the root frame visible
36 frame.setVisible(true);
37 }
38
39 public static void main(final String[] args) throws Exception {
40 Toolkit.getApplicationRunner().run(new JoToSwtSnipped());
41 System.exit(0);
42 }
43 }