# Auf eine Instanz zugreifen



## minzel (20. Jul 2008)

Hallo zusammen!

Beschäftige mich zur Zeit mit der RCP Programmierung in Eclipse, und ich denke mir fehlt da noch etwas grundlegendes in der Java Programmierung. (Deshalb auch unsicher ob es direkt was damit zu tun hat)

Meine Frage wäre folgende:

Ich habe in einer RCP-App 2 Views. Das eine View enthält z.B. einen Schieberegler und somit eine wichtige information der Position des Schiebereglers. Dies frage ich durch einen Listener ab.

Konkret kann man dies folgender maßen machen:


```
(Pseudo: View1)

final Slider slider = new Slider(fGroup, SWT.NONE);
...
slider.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				sysout ( slider.getSelection() );
			}
		});
```

Nun, wie bekomme ich den Wert von _slider.getSelection()_ in die 2. View?

Mit Static klappt es, aber will ich ungern mit arbeiten. Eine neue Instanz bewirkt imprinzip auch einen neuen Slider, also enthält diese auch nicht die Position des Sliders aus der ersten Instanz des View1.

Wie handhabt man nun sowas?

Aus Recherche kann man das wohl mit getSite() (ähnlich) wie einem TreeViewer erledigen. Das ganze über einen Provider ... ?! Ist das der richtige Weg? Oder fehlt mir hier wirklich noch grundlegendes wissen wie man zwischen 2 Instanzen vermitteln kann? Ich bin wie immer über Hilfe sehr dankbar.


----------



## foobar (20. Jul 2008)

Ja, du kannst entweder mit einem SelectionProvider arbeiten oder du greifst aus der anderen View auf die View mit dem Slider zu und holst dir über einen Setter den aktuellen Wert. Ungefähr so:


```
IViewPart mySliderView = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(SliderView.ID);
((SliderView)mySliderView).getSelection();
....
```


----------



## minzel (20. Jul 2008)

Super, vielen lieben Dank!

Das hat nun geholfen. Man lernt nie aus =)


----------

