Differenze tra le versioni di "Programmazione:Java/Eclipse RCP/Inserire componenti in una Table SWT"
Da WikiSitech.
Vai alla navigazioneVai alla ricerca| (2 versioni intermedie di uno stesso utente non sono mostrate) | |||
| Riga 1: | Riga 1: | ||
| + | [[Programmazione:Java/Eclipse_RCP|<< Back to Eclipse RCP]]  | ||
| + | |||
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.  | 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:  | I modi per impostare questi legami sono 2:  | ||
* Costruendo direttamente i TableItem  | * Costruendo direttamente i TableItem  | ||
| − | <  | + | <syntaxhighlight lang="java">  | 
Table table = new Table(parent, SWT.NONE);  | Table table = new Table(parent, SWT.NONE);  | ||
for(int row = 0; row < 5; row++) {  | for(int row = 0; row < 5; row++) {  | ||
| Riga 17: | Riga 19: | ||
    }  |     }  | ||
}  | }  | ||
| − | </  | + | </syntaxhighlight>  | 
* Definendo la Table Virtuale con lo style SWT.VIRTUAL e implementando il listener per l'evento SWT.SetData  | * Definendo la Table Virtuale con lo style SWT.VIRTUAL e implementando il listener per l'evento SWT.SetData  | ||
| − | <  | + | <syntaxhighlight lang="java">  | 
Table table = new Table(parent, VIRTUAL);  | Table table = new Table(parent, VIRTUAL);  | ||
table.addListener(SWT.SetData, new Listener() {  | table.addListener(SWT.SetData, new Listener() {  | ||
| Riga 34: | Riga 36: | ||
    }  |     }  | ||
});  | });  | ||
| − | </  | + | </syntaxhighlight>  | 
In tutti e due i casi per accedere al widget bisogna salvarsi da qualche parte i TableEditor.  | In tutti e due i casi per accedere al widget bisogna salvarsi da qualche parte i TableEditor.  | ||
Versione attuale delle 09:47, 21 dic 2016
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);
   }
});
In tutti e due i casi per accedere al widget bisogna salvarsi da qualche parte i TableEditor.