Controles

Até aqui, utilizamos o termo widget sem uma definição formal. Na hierarquia de classes do SWT, um Widget é a classe abstrata para qualquer objeto da UI que possa ser colocado dentro de outro widget.Um Controle é um widget que geralmente tem uma representação equivalente, denotada por um identificador de janela do S.O., na plataforma subjacente.

Costumamos utilizar os termos widget e controle de forma intercambiável. Embora a distinção seja importante na implementação do SWT, não nos centralizaremos nessa diferença do ponto de vista de um aplicativo. Se você rever a hierarquia de widgets do SWT, verá que um Controle é algo que você pode criar e colocar em qualquer lugar desejado na árvore de pai/filho do widget. Os widgets não são controles, são geralmente objetos da UI mais especializados que podem ser criados somente para determinados tipos de pais.

A Referência da API do SWT e os exemplos estão repletos de informações sobre os diferentes tipos de controle e a utilização deles. O pacote org.eclipse.swt.widgets define o conjunto de widgets núcleo no SWT.A tabela a seguir resume os tipos concretos de controles fornecidos nesse pacote e a finalidade deles. (As classes abstratas foram eliminadas dessa lista).

 
Widget
Propósito
Estilos
Eventos
Controle selecionável que emite notificação quando pressionado e/ou liberado.
BORDER, CHECK, PUSH, RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER, ARROW (com UP, DOWN)
Dispose, Control*, Selection
Controle composto que fornece uma superfície para desenho de gráficos arbitrários. Muitas vezes utilizada para implementar controles personalizados.
BORDER, H_SCROLL, V_SCROLL, NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE, NO_RADIO_GROUP
Dispose, Control*
Um cursor em forma de I que é geralmente utilizado como o ponto de inserção de texto.
 
Dispose
Controle selecionável que permite ao usuário escolher uma cadeia na lista de cadeias ou, como opção, digitar um novo valor em um campo de texto editável. Muitas vezes utilizado quando o espaço limitado exige a apresentação de um pop-down de cadeias disponíveis, em vez de utilizar uma única caixa de lista de seleção.
BORDER, DROP_DOWN, READ_ONLY, SIMPLE
Dispose, Control*, DefaultSelection, Modify, Selection
Controle capaz de conter outros widgets.
BORDER, H_SCROLL, V_SCROLL
Dispose, Control*
Controle composto que permite ao usuário fazer a reposição dinâmica de itens interessantes contidos na barra.
BORDER
Dispose, Control*
Objeto selecionável da interface do usuário que representa uma área dinamicamente posicionável de uma barra interessante.
DROP_DOWN
Dispose
Controle composto que agrupa outros widgets e fica em torno deles com uma moldura e/ou uma etiqueta gravada.
BORDER, SHADOW_ETCHED_IN, SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT, SHADOW_NONE
Dispose, Control*
Controle não selecionável que exibe uma cadeia ou uma imagem.
BORDER, CENTER, LEFT, RIGHT, WRAP, SEPARATOR (com HORIZONTAL, SHADOW_IN, SHADOW_OUT, SHADOW_NONE, VERTICAL)
Dispose, Control*
Controle selecionável que permite ao usuário escolher uma cadeia ou cadeias em uma lista de cadeias.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI
Dispose, Control*, Selection, DefaultSelection
Objeto da interface do usuário que contém itens de menu.
BAR, DROP_DOWN, NO_RADIO_GROUP, POP_UP
Dispose, Help, Hide, Show
MenuItem Objeto selecionável da interface do usuário que representa um item em um menu. CHECK, CASCADE, PUSH, RADIO, SEPARATOR Dispose, Arm, Help, Selection
Controle não selecionável que exibe o progresso para o usuário, geralmente na forma de um gráfico de barras.
BORDER, INDETERMINATE, SMOOTH, HORIZONTAL, VERTICAL
Dispose, Control*
Controle selecionável que permite ao usuário arrastar um outline flexível da faixa na janela principal. Utilizado para permitir que os usuários redimensionem widgets filho, reposicionando a linha divisória deles.
BORDER,HORIZONTAL, VERTICAL
Dispose, Control*, Selection
Controle selecionável que representa um intervalo de valores numéricos.
BORDER,HORIZONTAL, VERTICAL
Dispose, Control*, Selection
ScrollBar Controle selecionável que representa um intervalo de valores numéricos positivos. Utilizado em um composto que tem os estilos V_SCROLL e/ou H_SCROLL. HORIZONTAL, VERTICAL Dispose, Selection
Janela gerenciada pelo gerenciador de janelas do sistema operacional. Os shells podem ter um Display (shells de nível superior) ou outro shell (shells secundários) como pai.
BORDER, H_SCROLL, V_SCROLL, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE (consulte também SHELL_TRIM, DIALOG_TRIM)
Dispose, Control*, Activate, Close, Deactivate, Deiconify, Iconify
Controle selecionável que representa um intervalo de valores numéricos. Um slider (régua de controle) é diferente de um scale (escala) por fornecer uma aba arrastável que pode ajustar o valor atual ao longo do intervalo.
BORDER,HORIZONTAL, VERTICAL
Dispose, Control*, Selection
Controle composto que agrupa páginas que podem ser selecionadas pelo usuário utilizando guias etiquetadas.
BORDER
Dispose, Control*, Selection
TabItem Objeto selecionável da interface do usuário que corresponde a uma guia de uma página em uma pasta de guias.   Dispose
Controle selecionável que exibe uma lista de itens da tabela que podem ser selecionados pelo usuário. Os itens são representados em linhas que exibem várias colunas representando aspectos diferentes dos itens.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK, FULL_SELECTION, HIDE_SELECTION
Dispose, Control*, Selection, DefaultSelection
TableColumn Objeto selecionável da interface do usuário que representa uma coluna em uma tabela. LEFT, RIGHT, CENTER Dispose, Move, Resize, Selection
TableItem Objeto selecionável da interface do usuário que representa um item em uma tabela.   Dispose
Controle editável que permite ao usuário digitar texto nele.
BORDER, SINGLE,  READ_ONLY, LEFT, CENTER, RIGHT, WRAP, MULTI (com H_SCROLL, V_SCROLL)
Dispose, Control*, DefaultSelection, Modify, Verify
Controle composto que suporta o layout de itens selecionáveis da barra de ferramentas.
BORDER, FLAT, WRAP, RIGHT, SHADOW_OUT HORIZONTAL, VERTICAL
Dispose, Control*,
ToolItem Objeto selecionável da interface do usuário que representa um item na barra de ferramentas. PUSH, CHECK, RADIO, SEPARATOR, DROP_DOWN Dispose, Selection
Objeto da interface do usuário que implementa retângulos flexíveis.
LEFT, RIGHT, UP, DOWN, RESIZE
Dispose, Move, Resize
Controle selecionável que exibe uma lista hierárquica de itens da árvores que podem ser selecionados pelo usuário.
BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK
Dispose, Control*, Selection, DefaultSelection, Collapse, Expand
TreeItem Objeto selecionável da interface do usuário que representa uma hierarquia de itens da árvore em uma árvore.   Dispose

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

Copyright IBM Corporation e outros 2000, 2003.