Controlli

Finora il termine widget è stato utilizzato senza una definizione formale. Nella gerarchia di classi di SWT un widget rappresenta la classe astratta per qualsiasi oggetto UI che possa essere posizionato all'interno di un altro widget. Un controllo è un widget generalmente dotato di una rappresentazione speculare e caratterizzato da un handle di finestra del sistema operativo nella piattaforma sottostante.

I termini widget e controllo sono spesso adoperati in maniera intercambiabile. Sebbene la distinzione sia importante durante l'implementazione di SWT, questa differenza non è rilevante dal punto di vista dell'applicazione. Se si osserva la gerarchia dei widget di SWT, si vedrà che un controllo può essere creato e posizionato secondo le proprie esigenze nella struttura principale/secondaria. I widget che non costituiscono controlli sono oggetti UI generalmente più specializzati che possono essere creati soltanto per determinati tipi di elementi principali.

Il riferimento API di SWT e gli esempi riportati sono ricchi di informazioni sui diversi tipi di controlli e il relativo utilizzo. Nel pacchetto org.eclipse.swt.widgets è definito l'insieme principale di widget presenti in SWT. Nella seguente tabella sono riassunti i tipi concreti di controllo forniti dal pacchetto con la relativa finalità. Le classi astratte non sono state inserite nell'elenco.

 
Widget
Scopo
Stili
Eventi
Controllo selezionabile che consente di emettere una notifica quando viene premuto e/o rilasciato.
BORDER, CHECK, PUSH, RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER, ARROW (con UP, DOWN)
Dispose, Control*, Selection
Controllo composto che fornisce una superficie su cui disegnare grafici arbitrari. Spesso è utilizzato per implementare controlli personalizzati.
BORDER, H_SCROLL, V_SCROLL, NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE, NO_RADIO_GROUP
Dispose, Control*
Un puntatore a I generalmente utilizzato come punto di inserimento di testo.
 
Dispose
Controllo selezionabile che permette di scegliere una stringa all'interno di un elenco di stringhe o, facoltativamente, di digitare un nuovo valore in un campo di testo modificabile. Utilizzato spesso quando lo spazio limitato rende necessaria una presentazione a comparsa delle stringhe disponibili al posto di una singola casella di riepilogo della selezione.
BORDER, DROP_DOWN, READ_ONLY, SIMPLE
Dispose, Control*, DefaultSelection, Modify, Selection
Controllo che può contenere altri widget.
BORDER, H_SCROLL, V_SCROLL
Dispose, Control*
Controllo composto che consente di riposizionare in maniera dinamica gli elementi più interessanti contenuti nella barra.
BORDER
Dispose, Control*
Oggetto dell'interfaccia utente selezionabile che rappresenta un'area in cui è possibile posizionare dinamicamente una barra interessante.
DROP_DOWN
Dispose
Controllo composto che provvede al raggruppamento di altri widget mediante un bordo inciso e/o un'etichetta.
BORDER, SHADOW_ETCHED_IN, SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT, SHADOW_NONE
Dispose, Control*
Controllo non selezionabile che provvede alla visualizzazione di una stringa o di un'immagine.
BORDER, CENTER, LEFT, RIGHT, WRAP, SEPARATOR (with HORIZONTAL, SHADOW_IN, SHADOW_OUT, SHADOW_NONE, VERTICAL)
Dispose, Control*
Controllo selezionabile che consente di scegliere una o più stringhe da un elenco di stringhe.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI
Dispose, Control*, Selection, DefaultSelection
Oggetto dell'interfaccia utente contenente le voci di menu.
BAR, DROP_DOWN, NO_RADIO_GROUP, POP_UP
Dispose, Help, Hide, Show
MenuItem Oggetto dell'interfaccia utente selezionabile che rappresenta una voce di menu. CHECK, CASCADE, PUSH, RADIO, SEPARATOR Dispose, Arm, Help, Selection
Controllo non selezionabile che visualizza, generalmente mediante un grafico a barre, lo stato di avanzamento.
BORDER, INDETERMINATE, SMOOTH, HORIZONTAL, VERTICAL
Dispose, Control*
Controllo selezionabile che consente di trascinare un contorno elastico del pannello all'interno della finestra principale. Viene utilizzato per permettere all'utente di ridimensionare i widget secondari riposizionando delle rispettive linee di divisione.
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
Controllo selezionabile che rappresenta un intervallo di valori numerici.
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
ScrollBar Controllo selezionabile che rappresenta un intervallo di valori numerici positivi. Utilizzato in un controllo Composite con gli stili V_SCROLL e/o H_SCROLL. HORIZONTAL, VERTICAL Dispose, Selection
Finestra gestita dal gestore di finestra del sistema operativo. Le shell possono essere associate mediante visualizzazione (shell di livello superiore) oppure mediante un'altra shell (shell secondaria).
BORDER, H_SCROLL, V_SCROLL, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE (vedere anche SHELL_TRIM, DIALOG_TRIM)
Dispose, Control*, Activate, Close, Deactivate, Deiconify, Iconify
Controllo selezionabile che rappresenta un intervallo di valori numerici. Il cursore scorrevole si differenzia dalla scala perché è fornito di una casella che consente di regolare il valore corrente lungo l'intervallo mediante trascinamento.
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
Controllo composto che raggruppa le pagine selezionabili mediante schede etichettate.
BORDER
Dispose, Control*, Selection
TabItem Oggetto selezionabile dell'interfaccia utente corrispondente a una scheda di pagina in una cartella di schede.   Dispose
Controllo selezionabile che visualizza un elenco di voci di tabella che possono essere selezionate dall'utente. L'elenco viene presentato in righe che visualizzano più colonne in cui sono rappresentati aspetti differenti delle voci.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK, FULL_SELECTION, HIDE_SELECTION
Dispose, Control*, Selection, DefaultSelection
TableColumn Oggetto dell'interfaccia utente selezionabile che rappresenta una colonna di tabella. LEFT, RIGHT, CENTER Dispose, Move, Resize, Selection
TableItem Oggetto dell'interfaccia utente selezionabile che rappresenta una voce di tabella.   Dispose
Controllo modificabile mediante il quale è possibile inserire un testo.
BORDER, SINGLE,  READ_ONLY, LEFT, CENTER, RIGHT, WRAP, MULTI (con H_SCROLL, V_SCROLL)
Dispose, Control*, DefaultSelection, Modify, Verify
Controllo composto che supporta il layout di voci selezionabili di una barra degli strumenti.
BORDER, FLAT, WRAP, RIGHT, SHADOW_OUT HORIZONTAL, VERTICAL
Dispose, Control*,
ToolItem Oggetto dell'interfaccia utente selezionabile che rappresenta una voce in una barra degli strumenti. PUSH, CHECK, RADIO, SEPARATOR, DROP_DOWN Dispose, Selection
Oggetto dell'interfaccia utente che implementa rettangoli elastici.
LEFT, RIGHT, UP, DOWN, RESIZE
Dispose, Move, Resize
Controllo selezionabile che visualizza un elenco gerarchico di voci di struttura selezionabili.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK
Dispose, Control*, Selection, DefaultSelection, Collapse, Expand
TreeItem Oggetto dell'interfaccia utente selezionabile che rappresenta una gerarchia di voci in una struttura.   Dispose

Control* = eventi ereditati da Control:  FocusIn, FocusOut, Help, KeyDown, KeyUp, MouseDoubleClick, MouseDown, MouseEnter, MouseExit, MouseHover, MouseUp, MouseMove, Move, Paint, Resize

Copyright IBM Corporation e altri 2000, 2003.