Hallo zusammen!
Ich bin gerade dabei in einer RCP-Anwendung einen Dialog zu erstellen. Der Dialog zeigt einige Listboxen (widgets.List) in einem GridLayout an und diese sollen nun "scrollbar" werden.
Nun hat aber weder die Angabe von SWT.V_SCROLL noch das erstellen einbinden in ein ScrolledComposite zum erfolg geführt. Die betreffenden Listboxen wachsen bei mehr Einträgen einfach dynamisch mit, ohne eine Scrollbar anzuzeigen und zerschießen so das Layout.
Die Erstellung einer Listbox sieht so aus:
Habe dazu auch diesen Thread gefunden, allerdings hat die dort präsentierte Lösung mit einem ScrolledComposite wie beschrieben zu keinem Ergebnis geführt.
Wie kann ich also in einem GridLayout einer Komponente sagen, dass sie eben NICHT dynamisch mitwachsen soll?
Zur verdeutlichung noch Mal zwei Screenschots:
Dialog ohne Daten:
Dialog mit Daten:
Ich bedanke mich schon Mal im Vorraus für Hinweise.
Christian aka Mable.
Ich bin gerade dabei in einer RCP-Anwendung einen Dialog zu erstellen. Der Dialog zeigt einige Listboxen (widgets.List) in einem GridLayout an und diese sollen nun "scrollbar" werden.
Nun hat aber weder die Angabe von SWT.V_SCROLL noch das erstellen einbinden in ein ScrolledComposite zum erfolg geführt. Die betreffenden Listboxen wachsen bei mehr Einträgen einfach dynamisch mit, ohne eine Scrollbar anzuzeigen und zerschießen so das Layout.
Die Erstellung einer Listbox sieht so aus:
Java:
....
GridData gdLstVehicles = new GridData();
gdLstVehicles.verticalSpan = 2;
gdLstVehicles.horizontalAlignment = GridData.FILL;
gdLstVehicles.verticalAlignment = GridData.CENTER;
gdLstVehicles.grabExcessHorizontalSpace = true;
....
lstVehicles = new List(parent, SWT.NONE | SWT.V_SCROLL);
viewer = new ListViewer(lstVehicles);
viewer.setContentProvider(new VehicleContentProvider());
viewer.setLabelProvider(new VehicleLabelProvider1());
viewer.setInput(vehicles);
lstVehicles.setLayoutData(gdLstVehicles);
....
Habe dazu auch diesen Thread gefunden, allerdings hat die dort präsentierte Lösung mit einem ScrolledComposite wie beschrieben zu keinem Ergebnis geführt.
Wie kann ich also in einem GridLayout einer Komponente sagen, dass sie eben NICHT dynamisch mitwachsen soll?
Zur verdeutlichung noch Mal zwei Screenschots:
Dialog ohne Daten:

Dialog mit Daten:

Ich bedanke mich schon Mal im Vorraus für Hinweise.
Christian aka Mable.