Controles

Hasta ahora hemos utilizado el término widget sin una definición formal. En la jerarquía de clases de SWT, llamamos Widget a la clase abstracta de cualquier objeto de la UI que pueda colocarse dentro de otro widget. Un Control es un widget que suele tener una representación equivalente, indicada mediante un handle de ventana de OS, en la plataforma subyacente.

Se suele confundir el significado de los términos widget y control. A pesar de los problemas que comporta esta confusión en la implementación de SWT, no merece la pena centrarse en ella desde el punto de vista de una aplicación. Si revisa la jerarquía de widgets de SWT, verá que un Control es algo que puede crear y colocar en cualquier lugar del árbol de padres/hijos de widgets. Los widgets que no son controles suelen ser objetos de UI más especializados, que solo se pueden crear para ciertos tipos de padres.

Encontrará información exhaustiva sobre los distintos tipos de controles y de cómo utilizarlos en el manual Consulta de las API de SWT y en los ejemplos. El paquete org.eclipse.swt.widgets define el conjunto principal de widgets en SWT. La tabla siguiente muestra un resumen de los tipos de controles concretos que se proporcionan en este paquete y su finalidad. (Las clases abstractas se han eliminado de esta lista).

 
Widget
Finalidad
Estilos
Eventos
Control seleccionable que emite una notificación cuando se pulsa y/o se suelta.
BORDER, CHECK, PUSH, RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER, ARROW (con UP, DOWN)
Dispose, Control*, Selection
Control de Composite que proporciona una superficie para dibujar gráficos arbitrarios. Suele utilizarse para implementar controles personalizados.
BORDER, H_SCROLL, V_SCROLL, NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE, NO_RADIO_GROUP
Dispose, Control*
Un cursor en I que se suele utilizar como punto de inserción en el texto.
 
Dispose
Control seleccionable que permite al usuario elegir una serie en una lista de series o bien, opcionalmente, escribir un valor nuevo en un campo de texto editable. Se suele utilizar cuando un espacio limitado exige una presentación desplegable de las series disponibles, en vez de utilizar un solo cuadro de lista de selección.
BORDER, DROP_DOWN, READ_ONLY, SIMPLE
Dispose, Control*, DefaultSelection, Modify, Selection
Control que puede contener otros widgets.
BORDER, H_SCROLL, V_SCROLL
Dispose, Control*
Control de Composite que permite a los usuarios volver a colocar dinámicamente los elementos interesantes que hay en la barra.
BORDER
Dispose, Control*
En la interfaz del usuario, objeto seleccionable que representa un área posicionable dinámicamente de una barra de elementos interesantes.
DROP_DOWN
Dispose
Control de Composite que agrupa otros widgets y los rodea con un borde y/o una etiqueta grabados.
BORDER, SHADOW_ETCHED_IN, SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT, SHADOW_NONE
Dispose, Control*
Control no seleccionable que visualiza una serie o una imagen.
BORDER, CENTER, LEFT, RIGHT, WRAP, SEPARATOR (con HORIZONTAL, SHADOW_IN, SHADOW_OUT, SHADOW_NONE, VERTICAL)
Dispose, Control*
Control seleccionable que permite al usuario elegir una o más series en una lista de series.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI
Dispose, Control*, Selection, DefaultSelection
En la interfaz del usuario, objeto que contiene elementos de menú.
BAR, DROP_DOWN, NO_RADIO_GROUP, POP_UP
Dispose, Help, Hide, Show
MenuItem En la interfaz del usuario, objeto seleccionable que representa un elemento de un menú. CHECK, CASCADE, PUSH, RADIO, SEPARATOR Dispose, Arm, Help, Selection
Control no seleccionable que muestra el progreso al usuario, habitualmente en forma de un gráfico de barra.
BORDER, INDETERMINATE, SMOOTH, HORIZONTAL, VERTICAL
Dispose, Control*
Control seleccionable que permite al usuario arrastrar un contorno elástico del marco de la ventana padre. Se utiliza para redimensionar los widgets hijo cambiando la posición de su línea divisoria.
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
Control seleccionable que representa un rango de valores numéricos.
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
ScrollBar Control seleccionable que representa un rango de valores numéricos positivos. Se utiliza en un objeto Composite que tenga los estilos V_SCROLL y/o H_SCROLL. HORIZONTAL, VERTICAL Dispose, Selection
Ventana gestionada por el gestor de ventanas de OS. Las shells pueden ser hijos de una clase Display (shells de nivel superior) o de otra shell (shells secundarias).
BORDER, H_SCROLL, V_SCROLL, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE (ver también SHELL_TRIM, DIALOG_TRIM)
Dispose, Control*, Activate, Close, Deactivate, Deiconify, Iconify
Control seleccionable que representa un rango de valores numéricos. Un graduador se diferencia de una escala en que cuenta con un mecanismo arrastrable que se puede ajustar al valor actual en el rango.
BORDER, HORIZONTAL, VERTICAL
Dispose, Control*, Selection
Control de Composite que agrupa las páginas que el usuario puede seleccionar mediante pestañas etiquetadas.
BORDER
Dispose, Control*, Selection
TabItem El la interfaz del usuario, objeto seleccionable que corresponde a una pestaña de una página en una carpeta con pestañas.   Dispose
Control seleccionable que muestra una lista de elementos de tabla que el usuario puede seleccionar. Los elementos se presentan en filas que visualizan múltiples columnas para representar los diferentes aspectos de los elementos.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK, FULL_SELECTION, HIDE_SELECTION
Dispose, Control*, Selection, DefaultSelection
TableColumn En la interfaz del usuario, objeto seleccionable que representa una columna de una tabla. LEFT, RIGHT, CENTER Dispose, Move, Resize, Selection
TableItem En la interfaz del usuario, objeto seleccionable que representa un elemento de una tabla.   Dispose
Control editable que permite al usuario escribir texto en él.
BORDER, SINGLE,  READ_ONLY, LEFT, CENTER, RIGHT, WRAP, MULTI (con H_SCROLL, V_SCROLL)
Dispose, Control*, DefaultSelection, Modify, Verify
Control de Composite que soporta el diseño de elementos seleccionables de la barra de herramientas.
BORDER, FLAT, WRAP, RIGHT, SHADOW_OUT HORIZONTAL, VERTICAL
Dispose, Control*,
ToolItem En la interfaz del usuario, objeto seleccionable que representa un elemento de una barra de herramientas. PUSH, CHECK, RADIO, SEPARATOR, DROP_DOWN Dispose, Selection
En la interfaz del usuario, objeto que implementa rectángulos que pueden estirarse.
LEFT, RIGHT, UP, DOWN, RESIZE
Dispose, Move, Resize
Control seleccionable que muestra una lista jerárquica de elementos de árbol que el usuario puede seleccionar.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK
Dispose, Control*, Selection, DefaultSelection, Collapse, Expand
TreeItem En la interfaz del usuario, objeto seleccionable que representa una jerarquía de los elementos de un árbol.   Dispose

Control* = Eventos heredados de Control:  FocusIn, FocusOut, Help, KeyDown, KeyUp, MouseDoubleClick, MouseDown, MouseEnter, MouseExit, MouseHover, MouseUp, MouseMove, Move, Paint, Resize

Copyright IBM Corporation y otros 2000, 2003.