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
<code java>
+
<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:
 
   }
 
   }
 
}
 
}
</code>
+
</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
<code java>
+
<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:
 
   }
 
   }
 
});
 
});
</code>
+
</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

<< 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.

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.