Hasta ahora se ha estado utilizando el término widget sin una definición formal. En la jerarquía de clases de SWT, un Widget es la clase abstracta de cualquier objeto de UI que puede colocarse dentro de otro widget. Un Control es un widget que suele tener una representación duplicada (indicada mediante un manejador 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 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 pueden crearse sólo para ciertos tipos de padres.
Encontrará información exhaustiva sobre los distintos tipos de controles y de cómo utilizarlos en la Consulta de 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 que puede seleccionarse y que emite una notificación cuando se pulsa y/o se libera. |
BORDER, ARROW, CHECK, PUSH,
RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER
|
Dispose, Control*, Selection | |
Control de Composite que proporciona una superficie para dibujar gráficos libremente. Suele utilizarse para implementar controles personalizados. |
BORDER, H_SCROLL, V_SCROLL,
NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE
|
Dispose, Control* | |
Un i-beam que suele utilizarse como punto de inserción en texto. |
|
Dispose | |
Control que puede seleccionarse y que permite al usuario elegir una serie de una lista de series u, opcionalmente, escribir un valor nuevo en un campo de texto que se puede editar. A menudo se utiliza cuando en un espacio limitado se requiere un presentación desplegable de las series disponibles en lugar de un solo recuadro 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 en la barra. |
BORDER
|
Dispose, Control* | |
Objeto de interfaz de usuario que puede seleccionarse y que representa un área de una barra de elementos interesantes que puede definirse dinámicamente. |
|
Dispose | |
Control de Composite que agrupa otros widgets y coloca a su alrededor un borde y/o una etiqueta con relieve. |
BORDER, SHADOW_ETCHED_IN,
SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT, SHADOW_NONE
|
Dispose, Control* | |
Control que no puede seleccionarse y que visualiza una serie o una imagen. |
BORDER, CENTER, LEFT, RIGHT,
WRAP, SEPARATOR (with HORIZONTAL, SHADOW_IN,
SHADOW_OUT, VERTICAL)
|
Dispose, Control* | |
Control que puede seleccionarse y que permite al usuario elegir una o más series de una lista de series. |
BORDER, H_SCROLL, V_SCROLL,
SINGLE, MULTI
|
Dispose, Control*, Selection, DefaultSelection | |
Objeto de interfaz de usuario que contiene elementos de menú. |
BAR, DROP_DOWN, POP_UP
|
Dispose, Help, Hide, Show | |
MenuItem | Objeto de interfaz de usuario que puede seleccionarse y que representa un elemento en un menú. | CHECK, CASCADE, PUSH, RADIO, SEPARATOR | Dispose, Arm, Help, Selection |
Control que no puede seleccionarse y que muestra el progreso al usuario, generalmente en forma de gráfico de barras. |
BORDER, SMOOTH, HORIZONTAL,
VERTICAL
|
Dispose, Control* | |
Control que puede seleccionarse y que permite al usuario arrastrar un contorno elástico del marco de la ventana padre. Se utiliza para modificar el tamaño de los widgets hijo cambiando la posición de su línea de división. |
BORDER, HORIZONTAL, VERTICAL
|
Dispose, Control*, Selection | |
Control que puede seleccionarse y que representa un rango de valores numéricos. |
BORDER, HORIZONTAL, VERTICAL
|
Dispose, Control*, Selection | |
ScrollBar | Control que puede seleccionarse y que representa un rango de valores numéricos positivos. Se utiliza en un Composite que tiene estilos V_SCROLL y/o H_SCROLL. | HORIZONTAL, VERTICAL | Dispose, Selection |
Ventana gestionada por el gestor de ventanas de OS. Los shells pueden ser hijos de una Pantalla (shells de nivel superior) o de otro shell (shells secundarios). |
BORDER, H_SCROLL, V_SCROLL,
CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE (vea también SHELL_TRIM, DIALOG_TRIM)
|
Dispose, Control*, Activate, Close, Deactivate, Deiconify, Iconify | |
Control que puede seleccionarse y que representa un rango de valores numéricos. Un graduador se diferencia de una escala en que cuenta con un símbolo en forma de pulgar arrastable que se utiliza para ajustar el valor actual en el rango. |
BORDER, HORIZONTAL, VERTICAL
|
Dispose, Control*, Selection | |
Control de Composite que agrupa páginas que el usuario puede seleccionar mediante pestañas etiquetadas. |
BORDER
|
Dispose, Control*, Selection | |
TabItem | Objeto de interfaz de usuario que puede seleccionarse y que corresponde a una pestaña de una página en una carpeta con pestaña. | Dispose | |
Control que puede seleccionarse y que muestra una lista de elementos de tabla que el usuario puede seleccionar. Los elementos se muestran en filas que visualizan varias columnas que representan distintos aspectos de los elementos. |
BORDER, H_SCROLL, V_SCROLL,
SINGLE, MULTI, CHECK, FULL_SELECTION, HIDE_SELECTION
|
Dispose, Control*, Selection, DefaultSelection | |
TableColumn | Objeto de interfaz de usuario que puede seleccionarse y que representa una columna en una tabla. | LEFT, RIGHT, CENTER | Dispose, Move, Resize, Selection |
TableItem | Objeto de interfaz de usuario que puede seleccionarse y que representa un elemento en una tabla. | Dispose | |
Control que puede editarse y que permite al usuario escribir texto en él. |
BORDER, H_SCROLL, V_SCROLL,
MULTI, SINGLE, READ_ONLY, WRAP
|
Dispose, Control*, DefaultSelection, Modify, Verify | |
Control de Composite que soporta el diseño de elementos de la barra de herramientas que pueden seleccionarse. |
BORDER, FLAT, WRAP, RIGHT,
HORIZONTAL, VERTICAL
|
Dispose, Control*, | |
ToolItem | Objeto de interfaz de usuario que puede seleccionarse y que representa un elemento en una barra de herramientas. | PUSH, CHECK, RADIO, SEPARATOR, DROP_DOWN | Dispose, Selection |
Objeto de interfaz de usuario que implementa rectángulos que pueden estirarse. |
|
Dispose, Move | |
Control que puede seleccionarse y 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 | Objeto de interfaz de usuario que puede seleccionarse y que representa una jerarquía de elementos de árbol en un árbol. | Dispose |
Control* = Eventos heredados de Control: FocusIn, FocusOut, Help, KeyDown, KeyUp, MouseDoubleClick, MouseDown, MouseEnter, MouseExit, MouseHover, MouseUp, MouseMove, Move, Paint, Resize