Differenze tra le versioni di "Programmazione:Java/Eclipse RCP/Inserire componenti in una Table SWT"
Da WikiSitech.
Vai alla navigazioneVai alla ricerca(Una versione intermedia di uno stesso utente non è mostrata) | |||
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 10: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.