Hi,
I suggest you first follow the tutorial as is to learn about RCP. To
learn more about SWT see
http://www.vogella.com/articles/SWT/article.html
Best regards, Lars
2013/1/10 AckNack <
luises...@gmail.com>:
> Hi everyone!
>
> I was following the tutorial (
http://www.vogella.com/articles/EclipseRCP/article.html#parts) and wanted yo create a display in todo part i've placed the code in the constructor...
>
> // TODO Auto-generated constructor stub
> Display display = new Display();
> Shell shell = new Shell(display);
> // Create a new Gridlayout with 2 columns
> // where the 2 column do not have the
> // same size
> GridLayout layout = new GridLayout(2, false);
> // set the layout of the shell
> shell.setLayout(layout);
> // Create a label and a button
> Label label = new Label(shell, SWT.NONE);
> label.setText("A label");
> Button button = new Button(shell, SWT.PUSH);
> button.setText("Press Me");
>
> // Create a new label that will spam two columns
> label = new Label(shell, SWT.BORDER);
> label.setText("This is a label");
> // Create new layout data
> GridData data = new GridData(GridData.FILL,
> GridData.BEGINNING, true, false, 2, 1);
> label.setLayoutData(data);
>
> // Create a new label which is used as a separator
> label = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
> // Create new layout data
> data = new GridData(GridData.FILL, GridData.BEGINNING, true,
> false, 2, 1);
> data.horizontalSpan=2;
> label.setLayoutData(data);
>
> // Create a right aligned button
> Button b = new Button(shell, SWT.PUSH);
> b.setText("New Button");
>
> data = new GridData(GridData.END, GridData.BEGINNING, false,
> false, 2, 1);
> b.setLayoutData(data);
>
> Spinner spinner = new Spinner(shell, SWT.READ_ONLY);
> spinner.setMinimum(0);
> spinner.setMaximum(1000);
> spinner.setSelection(500);
> spinner.setIncrement(1);
> spinner.setPageIncrement(100);
> GridData gridData = new GridData(SWT.FILL,
> SWT.FILL, true, false);
> gridData.widthHint = SWT.DEFAULT;
> gridData.heightHint = SWT.DEFAULT;
> gridData.horizontalSpan=2;
> spinner.setLayoutData(gridData);
>
> Composite composite = new Composite(shell, SWT.BORDER);
> gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
> gridData.horizontalSpan= 2;
> composite.setLayoutData(gridData);
> composite.setLayout(new GridLayout(1, false));
>
>
> Text text = new Text(composite, SWT.NONE);
> text.setText("Testing");
> gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
> text.setLayoutData(gridData);
>
> text = new Text(composite, SWT.NONE);
> text.setText("Another test");
> // gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
> // text.setLayoutData(gridData);
> Group group = new Group(shell, SWT.NONE);
> group.setText("This is my group");
> gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
> gridData.horizontalSpan= 2;
> group.setLayoutData(gridData);
> //group.setLayout(new Layout(SWT.VERTICAL));
> text = new Text(group, SWT.NONE);
> text.setText("Another test");
>
>
> shell.pack();
> shell.open();
> while (!shell.isDisposed()) {
> if (!display.readAndDispatch())
> display.sleep();
> }
> display.dispose();
>
> }
>
> and i've got the error bellow:
>
>
> !SESSION 2013-01-10 14:15:44.160 -----------------------------------------------
> eclipse.buildId=unknown
> java.version=1.7.0_09-icedtea
> java.vendor=Oracle Corporation
> BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
> Framework arguments: -product pt.ptinovacao.seagull.configurator.product -clearPersistedState
> Command-line arguments: -product pt.ptinovacao.seagull.configurator.product -data /home/luis-prime/work/projects/rcpworkspace/../runtime-pt.ptinovacao.seagull.configurator.product -dev file:/home/luis-prime/work/projects/rcpworkspace/.metadata/.plugins/org.eclipse.pde.core/pt.ptinovacao.seagull.configurator.product/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog -clearPersistedState -clean
>
> !ENTRY org.eclipse.osgi 2 0 2013-01-10 14:15:46.178
> !MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
> !SUBENTRY 1 org.eclipse.osgi 2 0 2013-01-10 14:15:46.178
> !MESSAGE Bundle initial@reference:file:plugins/org.eclipse.e4.tools.emf.liveeditor_0.12.0.v20120608-192640.jar was not resolved.
> !SUBENTRY 2 org.eclipse.e4.tools.emf.liveeditor 2 0 2013-01-10 14:15:46.178
> !MESSAGE Missing required bundle org.eclipse.e4.tools.emf.ui_0.9.0.
> !SUBENTRY 2 org.eclipse.e4.tools.emf.liveeditor 2 0 2013-01-10 14:15:46.178
> !MESSAGE Missing required bundle org.eclipse.emf.edit_2.6.0.
>
> !ENTRY org.eclipse.osgi 2 0 2013-01-10 14:15:46.181
> !MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
> !SUBENTRY 1 org.eclipse.osgi 2 0 2013-01-10 14:15:46.182
> !MESSAGE Bundle org.eclipse.e4.tools.emf.liveeditor_0.12.0.v20120608-192640 [10] was not resolved.
> !SUBENTRY 2 org.eclipse.e4.tools.emf.liveeditor 2 0 2013-01-10 14:15:46.182
> !MESSAGE Missing required bundle org.eclipse.e4.tools.emf.ui_0.9.0.
> !SUBENTRY 2 org.eclipse.e4.tools.emf.liveeditor 2 0 2013-01-10 14:15:46.182
> !MESSAGE Missing required bundle org.eclipse.emf.edit_2.6.0.
>
> !ENTRY org.eclipse.e4.ui.workbench 4 0 2013-01-10 14:15:47.455
> !MESSAGE Unable to create class 'pt.ptinovacao.seagull.configurator.parts.MainPart' from bundle '38'
> !STACK 0
> org.eclipse.e4.core.di.InjectionException: org.eclipse.swt.SWTError: Not implemented [multiple displays]
> at org.eclipse.e4.core.internal.di.ConstructorRequestor.execute(ConstructorRequestor.java:53)
> at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:317)
> at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:240)
> at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161)
> at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102)
> at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
> at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53)
> at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:141)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:896)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:630)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:732)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:703)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:697)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:682)
> at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1114)
> at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:67)
> at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
> at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
> at org.eclipse.swt.widgets.Display.syncExec(Display.java:4291)
> at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:187)
> at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
> at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
> at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
> at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
> at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
> at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
> at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
> at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
> at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
> at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:58)
> at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
> at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
> at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:103)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:646)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:732)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:703)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:697)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:682)
> at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:642)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:732)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:703)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:697)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:682)
> at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59)
> at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:59)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:642)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:732)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:703)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:697)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:682)
> at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:103)
> at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:98)
> at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:77)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:646)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:732)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:703)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:697)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:682)
> at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59)
> at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:639)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:642)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:732)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:703)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:697)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:682)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:964)
> at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
> at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
> at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:150)
> at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
> Caused by: org.eclipse.swt.SWTError: Not implemented [multiple displays]
> at org.eclipse.swt.SWT.error(SWT.java:4387)
> at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:757)
> at org.eclipse.swt.widgets.Display.create(Display.java:898)
> at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
> at org.eclipse.swt.widgets.Display.<init>(Display.java:497)
> at org.eclipse.swt.widgets.Display.<init>(Display.java:488)
> at pt.ptinovacao.seagull.configurator.parts.MainPart.<init>(MainPart.java:20)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at org.eclipse.e4.core.internal.di.ConstructorRequestor.execute(ConstructorRequestor.java:44)
> ... 90 more
>
>
> Can anyone help me? I'm a newbie in RCP development....
>
> Thanks
>
> --
> You received this message because you are subscribed to the Google Groups "vogella" group.
> To view this discussion on the web visit
https://groups.google.com/d/msg/vogella/-/9a7uNR9odEoJ.
> To post to this group, send email to
vog...@googlegroups.com.
> To unsubscribe from this group, send email to
vogella+u...@googlegroups.com.
> For more options, visit this group at
http://groups.google.com/group/vogella?hl=en.
>