Combobox in Tabelle auslesen

MFalte

Grünschnabel
Hallo zusammen,

ich habe ein Problem mit SWT. Und zwar schreibe ich gerade an einem Wizard rum und der hat eine Wizardseite auf der eine Tabelle entsteht mit Comboboxen in den Zeilen drin. Jetzt möchte ich gerne, dass wenn der Anwender auf eine Combobox klickt, und den Wert darin ändert die Zeile auslesen. Das auslesen bekomme ich nicht hin. Der rest ist eigentlich fertig. Kann mir dabei jemand helfen? Das wäre echt super.

Hier der Code:

Java:
package hoq.wizardpages;

import hoq.datenstruktur.CustomGoal;

public class HoQPageThree extends WizardPage {
	private Composite container;

	public IWizardPage getPreviousPage() {

	 * Create the wizard.
	public HoQPageThree() {

	 * Create contents of the wizard.
	public void createControl(Composite parent) {

	private void createTable(Composite container) {
		ArrayList<CustomGoal> arrCustomGoal = new ArrayList<CustomGoal>();
		int rowCount;
		Combo cmbWeight;
		TableEditor tblEditor;

		arrCustomGoal = HoQWizard.arrCustomGoal;
		rowCount = arrCustomGoal.get(0).getOptObjSize() + 1;
		Composite cmpTableContainer = new Composite(container, SWT.NULL);
		cmpTableContainer.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true,
				true));
		Table tblTable;
		TableViewer tblViewer = new TableViewer(cmpTableContainer);
		tblTable = tblViewer.getTable();
		tblTable.setHeaderVisible(true);
		tblTable.setLinesVisible(true);
		TableViewerColumn tblVieColumn[] = new TableViewerColumn[rowCount];
		TableColumn tblColumn[] = new TableColumn[rowCount];
		TableColumnLayout tblColLayout = new TableColumnLayout();
		cmpTableContainer.setLayout(tblColLayout);
		for (int count = 0; count < rowCount; count++) {
			tblVieColumn[count] = new TableViewerColumn(tblViewer, SWT.NONE);
			tblColumn[count] = tblVieColumn[count].getColumn();
			tblColLayout.setColumnData(tblColumn[count], new ColumnWeightData(
					1, 50));
			if (count > 0)
				tblColumn[count].setText(arrCustomGoal.get(0).getOptObjName(
						count - 1));
			else
				tblColumn[count].setText("");
		}
		TableItem tblItem[] = new TableItem[arrCustomGoal.size()];
		for (int count = 0; count < arrCustomGoal.size(); count++) {
			tblItem[count] = new TableItem(tblTable, SWT.NONE);
			tblItem[count].setText(0, arrCustomGoal.get(count).getCustomGoal());
			for (int counttwo = 1; counttwo < arrCustomGoal.get(count)
					.getOptObjSize() + 1; counttwo++) {
				cmbWeight = new Combo(tblTable, SWT.READ_ONLY);
				cmbWeight.setItems(new String[] { "NONE", "WEAK", "MEDIUM",
						"STRONG" });
				cmbWeight.pack();
				tblEditor = new TableEditor(tblTable);
				tblEditor.minimumWidth = cmbWeight.getSize().x;
				tblEditor.horizontalAlignment = SWT.CENTER;
				tblEditor.setEditor(cmbWeight, tblItem[count], counttwo);
			}
		}
		
	}
}

Ich freue mich über jede Hilfe.

Besten Gruß.
 
Zurück