Escolar Documentos
Profissional Documentos
Cultura Documentos
Swing
1
AWT e Swing
2
Swing
3
Containers de Alto Nível
4
Containers de Alto Nível
5
Aplicações Swing
6
Hierarquia Comum de Containers
7
Aplicações Swing
8
Look & Feel
9
Look & Feel
10
Aplicações Swing
➔ Exemplos de Componentes
JButton
Criação de botões com ícones
• ImageIcon
Uso de mnemonic
Habilitação e desabilitação
Uso de ações
Registro de action listener
Configuração de tooltip
Texto de botões em HTML
11
Aplicações Swing
➔ Exemplos de Componentes
JCheckBox
Uso de mnemonic
Marcar e desmarcar
Registro de action listener
• Modificação de estado
12
Aplicações Swing
➔ Exemplos de Componentes
JRadioButton
Uso de mnemonic
Criação de ButtonGroup
Registro de action listener
• Modificação de opção
13
Aplicações Swing
➔ Exemplos de Componentes
JTabbedPane
Adição de abas
Modificação de aba selecionada
14
Aplicações Swing
➔ Exemplos de Componentes
JSplitPane
Configuração geral e orientação do split
Posicionamento do divisor
Restrição de tamanho do divisor
SplitPane aninhados
15
Aplicações Swing
➔ Exemplos de Componentes
JTable
Cria uma tabela para apresentar dados tabulares
• Muito utilizado para mostrar tabelas detalhe de tabelas mestre
Lado N de relacionamento 1:N
Construtores
• JTable(Object[][] rowData, Object[] columnNames)
• JTable(Vector rowData, Vector columnNames)
Pode utilizar diversos modelos de dados
16
Aplicações Swing
➔ Exemplos de Componentes
JTable
Pode utilizar diversos tipos de renderizadores para os
componentes contidos nas células
• Alta flexibilidade para definir a aparência da tabela
17
Aplicações Swing
➔ Layout Managers
BorderLayout
Layout default
Posiciona os componentes em 5 áreas
• Norte, sul, leste, oeste e centro
BorderLayout(int horizontalGap, int verticalGap)
setHgap(int) e setVgap(int)
18
Aplicações Swing
➔ Layout Managers
BoxLayout
Permite posicionar elementos de forma linear
• De cima para baixo
• Da esquerda para a direita
19
Aplicações Swing
➔ Layout Managers
FlowLayout
Permite posicionar elementos linearmente
• Da esquerda para a direita
Caso não caibam em uma linha, novas linhas são
adicionadas automaticamente
public FlowLayout()
public FlowLayout(int alignment)
public FlowLayout(int alignment,
int horizontalGap, int verticalGap)
20
Aplicações Swing
➔ Layout Managers
GridLayout
Dispõe os componentes em um grid de linhas e colunas
Cada componente ocupa o espaço exato de uma célula
public GridLayout(int rows, int columns)
public GridLayout(int rows, int columns,
int horizontalGap, int verticalGap)
21
Aplicações Swing
➔ Layout Managers
GridBagLayout
Layout mais flexível e mais complexo do Swing
Dispõe os componentes em um grid de linhas e colunas
• Componentes podem se estender a várias linhas ou colunas
Configurações são passadas para o layout através de uma
instância da classe GridBagConstraints
22