RCP : Selection LIstener als innere Klasse ?
-
Hallo ich habe 2 Views (View A und View
In meiner View A habe ich einen ListViewer. nun möchte ich das eine Textfeld in der View B gefüllt wird wenn ich ein Element in der Liste selektiere.
ICh wollte den SelectionListener gern als innere Klasse in der View B implementieren, da ich dann einfacher auf die Textfelder zurgreifen kann. Ist das eine gute Idee ?
Oder wie löst man solche Probleme.
Bin leider noch nicht so fit mit RCP
-
Ich glaube, derartiges ist durchaus relativ ueblich. Unter Umstaenden kannst Du sogar eine anonyme innere Klasse nehmen. Ich wuerde das davon abhaengig machen, wie viel diese Klasse eigentlich machen muss.
-
Danke für deine Antwort. Allerdings habe ich noch ein Problem
In der View A muss ich ja den SelectionListener hinzufügen. Dieser ist aber eine innere klasse von der View B. Wie kann davon eine Instanz erzeugen. Hier mal eine Auszug aus meinem Quelcode :
View A
public class SelectedFilter extends ViewPart { public SelectedFilter() { // TODO Auto-generated constructor stub } @Override public void createPartControl(Composite parent) { ListViewer listViewer = new ListViewer(parent, SWT.BORDER | SWT.V_SCROLL); List list = listViewer.getList(); // add a selection listener list.addSelectionListener(?????); ...
View B
public class AnaylsisResult extends ViewPart { ... public class AnaylsisResultSelectionListener implements SelectionListener { private final ListViewer viewer; protected AnaylsisResultSelectionListener(ListViewer viewer) { this.viewer = viewer; } ...
Vielen Dank