SWT Table mit CheckFeld

vanToom

Grünschnabel
Hi zusammen.

Weiß jemand von euch, ob bzw. wie es möglich ist in einer SWT Tabelle die einzelnen Spalten mit einem Check-Feld zu versehen?

Man kann ja beim Anlegen einer neuen Tabelle mit dem Parameter SWT.CHECK jede Zeile mit einem Check-Feld versehen.

Ist dies für jede Spalte auch möglich. Wenn ja, wie?

vielen Dank & lG
Thomas
 
schau dir mal dieses Beispiel an:
Code:
import org.eclipse.swt.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.custom.*;

public class Main {
public static void main(String[] args) {
  Display display = new Display ();
  Shell shell = new Shell (display);
  shell.setLayout (new FillLayout ());
  Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
  table.setLinesVisible (true);
  
  for (int i=0; i<3; i++) {
    TableColumn column = new TableColumn(table, SWT.NONE);
    column.setWidth (100);
  }
  
  for (int i=0; i<12; i++) {
    TableItem item = new TableItem (table, SWT.NONE);
  }
  
  TableItem [] items = table.getItems ();
  for (int i=0; i<items.length; i++) {
    //TableEditor zum hinzufügen der Elemente
    TableEditor editor = new TableEditor (table);
    CCombo combo = new CCombo (table, SWT.NONE);
    editor.grabHorizontal = true;
    editor.setEditor(combo, items[i], 0);
    editor = new TableEditor (table);

    //Hier wird ein TextField eingefügt
    Text text = new Text (table, SWT.NONE);
    editor.grabHorizontal = true;
    //mit dieser Methode setzt du das TextFeld mit dem jew. Item in Spalte 1
    editor.setEditor(text, items[i], 1);
    
   editor = new TableEditor (table);
    Button button = new Button (table, SWT.CHECK);
    button.pack ();
    editor.minimumWidth = button.getSize ().x;
    editor.horizontalAlignment = SWT.LEFT;
    //mit dieser Methode setzt du die CheckBox mit dem jew. Item in Spalte 2
    editor.setEditor (button, items[i], 2);
  }
  shell.pack ();
  shell.open ();
  while (!shell.isDisposed ()) {
    if (!display.readAndDispatch ()) display.sleep ();
  }
  display.dispose ();
}
}

Hier wird eine Tabelle erstellt und Controls in die Tabelle eingefügt!
Alles wichtige habe ich kommentiert!
 

Neue Beiträge

Zurück