Programmazione:Java/Eclipse RCP/Inserire componenti in una Table SWT

Da WikiSitech.
Versione del 19 gen 2007 alle 01:20 di Rimondini (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazioneVai alla ricerca

Per poter inserire dei componenti SWT ha messo a disposizione una classe che si chiama TableEditor, che permette di legare ad un TableItem un qualsiasi componente.

I modi per impostare questi legami sono 2:

  • Costruendo direttamente i TableItem

Table table = new Table(parent, SWT.NONE); for(int row = 0; row < 5; row++) {

  for(int column = 0; column < 3; column++) {
     TableItem item = new TableItem(table, SWT.NONE);
     TableEditor editor = new TableEditor(table);
     editor.horizontalAlignment = SWT.CENTER;
     editor.grabHorizontal = true;
     Composite c = new Composite(table, SWt.BORDER);
     c.pack();
     editor.grabHorizontal = true;
     editor.setEditor(c, item, column);
  }

}

  • Definendo la Table Virtuale con lo style SWT.VIRTUAL e implementando il listener per l'evento SWT.SetData

Table table = new Table(parent, VIRTUAL); table.addListener(SWT.SetData, new Listener() {

  TableItem item = (TableItem)event.item;
  for(int column = 0; column < 3; column++) {
     TableItem item = new TableItem(table, SWT.NONE);
     TableEditor editor = new TableEditor(table);
     editor.horizontalAlignment = SWT.CENTER;
     editor.grabHorizontal = true;
     Composite c = new Composite(table, SWT.BORDER);
     c.pack();
     editor.grabHorizontal = true;
     editor.setEditor(c, item, column);
  }

});