SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
INTERFACES GRÁFICAS
SWING – PARTE 2
Prof.ª M.ª Elaine Cecília Gatto
JLABEL e IMAGEICON
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JLabel
.html
• https://docs.oracle.com/javase/8/docs/api/javax/swing/Image
Icon.html
JLABEL e IMAGEICON
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JLabel
.html
• Controle: Componentes que interagem diretamente com o
usuário
• JLABEL: cria um rótulo e é um componente passivo
• Construtores de JLABEL:
• JLabel(String texto, int alinhameto)
• JLabel(Icon ícone, int alinhamento)
• JLabel(String texto, Icon ícone, int alinhamento)
JLABEL e IMAGEICON
• String texto: texto do rótulo
• Icon ícone: imagem gráfica
• Int alinhamento: alinhamento horizontal dentro das
dimensões. Valores: left, right, center, leading, trailing.
• Leading e trailing especificam borda anterior e posterior
• ImageIcon: classe para usar imagens (gif, jpeg ou png)
• Exemplo IMAGEICON
BOTÕES
• JButton: botão de ação padrão
• JToggleButton: botão com dois estados
• JCheckBox: botão de seleção padrão
• JRadioButton: botão de seleção mutuamente exclusivo
• Três categorias de eventos:
• Ação
• Item
• Mudança
BOTÕES
• Evento de ação: quando o usuário executa uma ação
• Evento de item: quando um botão é marcado ou desmarcado
• Evento de mudança: quando o estado do botão muda
EVENTOS DE AÇÃO
• É gerado quando o usuário clica em um botão
• ACTIONEVENT representa um evento de ação
• ACTIONLISTENER: interface
• ACTIONPERFORMED: método
• Duas formas de identificar o componente:
• String do comando de ação
• Referência do objeto
EVENTOS DE AÇÃO
• getSource():
• Obtém a referencia do componente que gerou um evento
de ação
• Vantagem: se tiver que agir diretamente sobre o
componente, pode fazer isso por intermédio de sua
referencia
EVENTOS DE ITEM
• Ocorre quando um item é selecionado
• ItemEvent: classe que representa os eventos de item
• ItemListener: interface
• itemStateChanged(ItemEvent ie): método
• ie é um objeto de ItemEvent que recebe o evento de item
• getItem(): obtém uma referencia ao item que mudou
EVENTOS DE ITEM
• Quando um evento de item ocorre, o componente ou fica
marcado ou desmarcado (um dos dois estados)
• Static final int selected = item marcado
• Static final int deselected = item desmarcado
• getStateChange(): óbtem o novo estado do componente
• isSelected(): retorna true se o botão estiver selecionado,
false caso contrário
JBUTTON
• Botão de ação
• Construtores:
• JButton(Icon icon)
• JButton(String str)
• JButton(String str, Icon icon)
• Exemplo JBUTTON
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JB
utton.html
JBUTTON
• setEnable(): desativa um botão deixando o seu texto em
cinza
• Jbutton permite definir ícones para serem exibidos na
ocorrência de certas ações de botão:
• Botão inativo: setDisabelIcon(Icon icone)
• Botão pressionado: setPressedIcon(Icon ícone)
• Mouse rolado para cima: setRolloverIcon(Icon ícone)
JTOGGLEBUTTON
• Botão de alternância
• Tem a mesma aparência de um botão de ação
• Tem dois estados: pressionado e solto
• Quando este botão é pressionado ele fica pressionado, só
solta quando pressionarmos novamente
• Por padrão o botão quando é criado fica no estado
desativado
• JTOGGLEBUTTON(STRING STR)
JTOGGLEBUTTON
• Gera um evento de item
• Quando este botão é pressionado uma seleção é feita
• Quando é solto, a seleção é anulada
• isSelected(): método que determina o estado do botão
• ItemListener: interface
• itemStateChanged(): método da interface
• EXEMPLO JTOGGLEBUTTON
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JToggl
eButton.html
JCheckBox
• É uma caixa de seleção
• Gera um ItemEvent
• getItem(): método para obter uma referencia
• isSelected(): determina o estado da caixa
• getText(): obtém o texto da caixa de seleção
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JChec
kBox.html
JRADIOBUTTON
• Botões de rádio
• Grupo de botões mutuamente exclusivos
• Somente um botão de cada vez pode ser pressionado
• Se um botão em um grupo, for pressionado, qualquer botão
pressionado anteriormente nesse grupo, perderá o estado
de pressionado
• Gera eventos de item, de ação e de mudança
• Exemplo JRadioButton
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JRadi
oButton.html
JTEXTFIELD
• Permite a inserção de uma única linha de texto
• O comando de ação é o conteúdo atual do campo de texto
• getText()
• setText()
• getSelectedText(): retorna NULL se não houver texto
selecionado
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JTextF
ield.html
JTEXTFIELD
• Cut(): remove qualquer texto que tenha sido selecionado dentro
do campo de texto e copia na área de transferência
• Copy(): copia, sem remover, o texto selecionado
• Paste(): copia qualquer texto que possa estar na área de
transferência para o campo de texto. Se o campo tiver texto
selecionado, ele será substituído pelo conteúdo da área de
transferência.
• Exemplo
JSCROLLPANE
• É um contêiner leve que trata automaticamente a rolagem
de outro componente leve
• O componente rolado pode ser individual ou um grupo de
componentes
• Se o objeto de rolagem for maior que a área visualizável, as
barras serão fornecidas automaticamente
• Automatiza a rolagem
• Elimina a necessidade de gerenciar as barras individuais
JSCROLLPANE
• Viewport:
• É a área visualizave de um painel de rolagem
• É uma janela em que o componente que está sendo
rolado é exibido
• Adiciona/remove uma barra de rolagem conforme a
necessidade
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JScroll
Pane.html
JSCROLLPANE
• JSCROLLPANE(Component comp)
• Comp é o componente a ser rolado
• Etapas de criação:
• Criar o componente a ser rolado
• Criar uma instancia de JSCROLLPANE
• Adicionar o painel de rolagem ao painel de conteúdo
JLIST
• É uma lista básica
• Dá suporte a seleção de um ou mais itens em uma lista
• JLIST é um tipo genérico
JLIST < E >
• E é o tipo dos itens da Lista
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JList.html
JLIST
JLIST ( E [ ] ITENS )
• Cria um JLIST contendo os itens do array especificado por
itens
• Normalmente é encapsulado dentro de um JScrollPane
• Listas longas são automaticamente roláveis
• Facilidade na alteração do número de entradas de uma lista
sem precisar mudar o tamanho do componente JLIST
JLIST
• Gera um LISTSELECTIONEVENT
• Ocorre quando o usuário faz ou altera uma seleção ou
desmarca um item
• LISTSELECTIONLISTENER: tratador
• valueChanged(): método do tratador
• Normalmente é necessário perguntar ao objeto JLIST o que
aconteceu
JLIST
• Permite ao usuário selecionar vários intervalos de itens
dentro da lista
• setSelectionMode(int modo): permite mudar o modo de
seleção dos itens
• SINGLE_SELECTION: seleção simples, apenas um item
pode ser selecionado.
JLIST
• SINGLE_INTERVAL_SELECTION: seleção de intervalo
simples, um intervalo de itens pode ser selecionado
• MULTIPLE_INTERVAL_SELECTION: seleção de múltiplos
intervalos que permite selecionar vários intervalos de uma
lista
• getSelectedIndex(): Um índice do primeiro item selecionado
pode ser obtido
JLIST
• A indexação começa com zero
• Se nenhum item estiver selecionado ele retorna -1
• getSelectedValue(): retorna uma referencia ao primeiro valor
selecionado
• NULL é retornado se não houver nada selecionado
• clearSelection(): desmarca todas as seleções
JCOMBOBOX
• É uma caixa de combinação: campo de texto + lista
suspensa
• JComboBox <E>
• E é o tipo dos elementos contidos na lista
• JComboBox ( E [ ] itens )
• Itens é um array que inicializa a caixa de combinação
JCOMBOBOX
• Gera um evento de ação quando o usuário seleciona um
item na lista
• Gera um evento de item quando o estado da seleção muda
• Uma mudança na seleção significa dois eventos de item:
item desmarcado e item selecionado
JCOMBOBOX
• getSelectedItem(): obtem o item selecionado
• addItem(E item) e removeItem(E item): permite adicionar
ou remover itens da lista suspensa dinamicamente, durante
a execução do programa
• Quando um item é adicionado, ele é inserido no fim da lista.
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JComboB
ox.html
JTree
• É um componente que apresenta uma visão hierárquica dos
dados
• Subarvores podem ser expandidas ou reduzidas
• JTree(Object [ ] objeto ): array de objetos
• Jtree (TreeNode no): nó de árvore
• Gera vários eventos
JTree
• Tratador: TreeSelectionEvent
• Ouvinte: TreeSelecionListener
• Método: valueChanged()
• getPatch(): obtem o caminho do objeto selecionado. Retorna um
objeto que descreve o caminho do NÓ selecionado
JTree
• TreePath: encapsula informações sobre o caminho de um nó
específico de uma árvore
• getLastPathComponente(): retorna o último nó do caminho
selecionado
• TreeNode: fornece métodos para obter informações sobre o
nó de uma árvore
JTree
• MutableTreeNode: interface para implementação de
métodos para inserir e remover nós filhos ou mudar o nó pai
• DefaultMutableTreeNode: interface que representa um nó de
uma árvore
• JTree NÃO fornece nenhum recurso próprio de rolagem.
• JTree deve ser inserido dentro de um JScrooPane
JTree
• Etapas para usar uma árvore:
• Criar uma instancia de Jtree
• Adicionar os nós a arvore
• Criar um JScrollPane
• Adicionar o painel de rolagem ao painel de conteúdo
• EXEMPLO
• https://docs.oracle.com/javase/8/docs/api/javax/swing/JTree.
html
JTABLE
• É um componente que exibe linhas e colunas de dados
• Arrastando o cursor sobre os limites da coluna, as mesmas
são redimensionadas
• Uma coluna pode ser arrastada para uma nova posição
• Permite selecionar uma linha, uma coluna e uma célula,
alterar dados da célula.
JTABLE
• É um dos componentes mais complicados de Swing
• Fácil de usar se o intuito for apenas apresentar dados em
formato tabular
• Conceito simples: basicamente um componente com uma
ou mais colunas de informações. No topo de cada coluna há
um cabeçalho.
JTABLE
• JTable deve ser inserido dentro de um JScrollPane
• Pode gerar vários eventos diferentes, o que é bem
complexo.
• Passos:
• Criar uma instancia de Jtable
• Criar um objeto de JScrollPane
• Adicionar o painel de rolagem ao painel de conteúdo
JFileChooser
• Exemplo
MODELOS
• A maioria dos controles do Swing utiliza um modelo que
determina como os dados associados a um controle são tratados
• O modelo padrão fornecido pelos controles do Swing
normalmente são suficientes
• Em GUIs mais avançadas talvez seja necessário trabalhar com
os modelos diretamente
MODELOS
• Swing oferece uma rica variedade de controles que facilitam a
criação de GUIS amigáveis e sofisticadas
• Swing dá suporte a um poderoso sistema de menus, vários
controles de diálogos internos e outros controles de interface.
• JFormattedTextField, JPasswordField, JProgressBar, JScrollBar,
JSlider, Jspinner, JTabbedPane, JTextArea, JToolBar
EXERCÍCIOS

Mais conteúdo relacionado

Mais procurados

Mais procurados (15)

Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II
 
Java AWT
Java AWTJava AWT
Java AWT
 
Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3
 
Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1
 
Java10
Java10Java10
Java10
 
Java - Introdução a banco de dados
Java - Introdução a banco de dadosJava - Introdução a banco de dados
Java - Introdução a banco de dados
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
 
Apostila microsoft visual basic
Apostila microsoft visual basicApostila microsoft visual basic
Apostila microsoft visual basic
 
Workshop espresso
Workshop espressoWorkshop espresso
Workshop espresso
 
CURSO JAVA 02
CURSO JAVA 02CURSO JAVA 02
CURSO JAVA 02
 
padrao de projeto0
padrao de projeto0padrao de projeto0
padrao de projeto0
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Win7pdf
Win7pdfWin7pdf
Win7pdf
 
So vista completo [modo de compatibilidade]
So vista completo [modo de compatibilidade]So vista completo [modo de compatibilidade]
So vista completo [modo de compatibilidade]
 
IHC - Java Interface com o Usuário (Parte 1)
IHC - Java Interface com o Usuário (Parte 1)IHC - Java Interface com o Usuário (Parte 1)
IHC - Java Interface com o Usuário (Parte 1)
 

Semelhante a Swing - Controles Gráficos

Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Natanael Fonseca
 
Minicurso Javascript
Minicurso JavascriptMinicurso Javascript
Minicurso JavascriptWilker Iceri
 
Interfaces Gráficas em Java Parte 3
Interfaces Gráficas em Java Parte 3Interfaces Gráficas em Java Parte 3
Interfaces Gráficas em Java Parte 3Elaine Cecília Gatto
 
Minicurso javascript
Minicurso javascriptMinicurso javascript
Minicurso javascriptLucas Aquiles
 
T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)Carlos Santos
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryWesley Lemos
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Programando em python interfaces graficas com tk
Programando em python   interfaces graficas com tkProgramando em python   interfaces graficas com tk
Programando em python interfaces graficas com tksamuelthiago
 
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0Elvis Rocha
 

Semelhante a Swing - Controles Gráficos (20)

Interface grafica
Interface graficaInterface grafica
Interface grafica
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
Introdução a jQuery
Introdução a jQueryIntrodução a jQuery
Introdução a jQuery
 
Como criar Custom Tags
Como criar Custom TagsComo criar Custom Tags
Como criar Custom Tags
 
Aula05
Aula05Aula05
Aula05
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
 
Minicurso Javascript
Minicurso JavascriptMinicurso Javascript
Minicurso Javascript
 
Interfaces Gráficas em Java Parte 3
Interfaces Gráficas em Java Parte 3Interfaces Gráficas em Java Parte 3
Interfaces Gráficas em Java Parte 3
 
J query 1
J query 1J query 1
J query 1
 
Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
 
Minicurso javascript
Minicurso javascriptMinicurso javascript
Minicurso javascript
 
T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)
 
Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
 
CSS & JQquery
CSS & JQqueryCSS & JQquery
CSS & JQquery
 
Aula JPA
Aula JPAAula JPA
Aula JPA
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQuery
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Programando em python interfaces graficas com tk
Programando em python   interfaces graficas com tkProgramando em python   interfaces graficas com tk
Programando em python interfaces graficas com tk
 
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 

Último (20)

Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 

Swing - Controles Gráficos

  • 1. INTERFACES GRÁFICAS SWING – PARTE 2 Prof.ª M.ª Elaine Cecília Gatto
  • 2. JLABEL e IMAGEICON • https://docs.oracle.com/javase/8/docs/api/javax/swing/JLabel .html • https://docs.oracle.com/javase/8/docs/api/javax/swing/Image Icon.html
  • 3. JLABEL e IMAGEICON • https://docs.oracle.com/javase/8/docs/api/javax/swing/JLabel .html • Controle: Componentes que interagem diretamente com o usuário • JLABEL: cria um rótulo e é um componente passivo • Construtores de JLABEL: • JLabel(String texto, int alinhameto) • JLabel(Icon ícone, int alinhamento) • JLabel(String texto, Icon ícone, int alinhamento)
  • 4. JLABEL e IMAGEICON • String texto: texto do rótulo • Icon ícone: imagem gráfica • Int alinhamento: alinhamento horizontal dentro das dimensões. Valores: left, right, center, leading, trailing. • Leading e trailing especificam borda anterior e posterior • ImageIcon: classe para usar imagens (gif, jpeg ou png) • Exemplo IMAGEICON
  • 5. BOTÕES • JButton: botão de ação padrão • JToggleButton: botão com dois estados • JCheckBox: botão de seleção padrão • JRadioButton: botão de seleção mutuamente exclusivo • Três categorias de eventos: • Ação • Item • Mudança
  • 6. BOTÕES • Evento de ação: quando o usuário executa uma ação • Evento de item: quando um botão é marcado ou desmarcado • Evento de mudança: quando o estado do botão muda
  • 7. EVENTOS DE AÇÃO • É gerado quando o usuário clica em um botão • ACTIONEVENT representa um evento de ação • ACTIONLISTENER: interface • ACTIONPERFORMED: método • Duas formas de identificar o componente: • String do comando de ação • Referência do objeto
  • 8. EVENTOS DE AÇÃO • getSource(): • Obtém a referencia do componente que gerou um evento de ação • Vantagem: se tiver que agir diretamente sobre o componente, pode fazer isso por intermédio de sua referencia
  • 9. EVENTOS DE ITEM • Ocorre quando um item é selecionado • ItemEvent: classe que representa os eventos de item • ItemListener: interface • itemStateChanged(ItemEvent ie): método • ie é um objeto de ItemEvent que recebe o evento de item • getItem(): obtém uma referencia ao item que mudou
  • 10. EVENTOS DE ITEM • Quando um evento de item ocorre, o componente ou fica marcado ou desmarcado (um dos dois estados) • Static final int selected = item marcado • Static final int deselected = item desmarcado • getStateChange(): óbtem o novo estado do componente • isSelected(): retorna true se o botão estiver selecionado, false caso contrário
  • 11. JBUTTON • Botão de ação • Construtores: • JButton(Icon icon) • JButton(String str) • JButton(String str, Icon icon) • Exemplo JBUTTON • https://docs.oracle.com/javase/8/docs/api/javax/swing/JB utton.html
  • 12. JBUTTON • setEnable(): desativa um botão deixando o seu texto em cinza • Jbutton permite definir ícones para serem exibidos na ocorrência de certas ações de botão: • Botão inativo: setDisabelIcon(Icon icone) • Botão pressionado: setPressedIcon(Icon ícone) • Mouse rolado para cima: setRolloverIcon(Icon ícone)
  • 13. JTOGGLEBUTTON • Botão de alternância • Tem a mesma aparência de um botão de ação • Tem dois estados: pressionado e solto • Quando este botão é pressionado ele fica pressionado, só solta quando pressionarmos novamente • Por padrão o botão quando é criado fica no estado desativado • JTOGGLEBUTTON(STRING STR)
  • 14. JTOGGLEBUTTON • Gera um evento de item • Quando este botão é pressionado uma seleção é feita • Quando é solto, a seleção é anulada • isSelected(): método que determina o estado do botão • ItemListener: interface • itemStateChanged(): método da interface • EXEMPLO JTOGGLEBUTTON • https://docs.oracle.com/javase/8/docs/api/javax/swing/JToggl eButton.html
  • 15. JCheckBox • É uma caixa de seleção • Gera um ItemEvent • getItem(): método para obter uma referencia • isSelected(): determina o estado da caixa • getText(): obtém o texto da caixa de seleção • https://docs.oracle.com/javase/8/docs/api/javax/swing/JChec kBox.html
  • 16. JRADIOBUTTON • Botões de rádio • Grupo de botões mutuamente exclusivos • Somente um botão de cada vez pode ser pressionado • Se um botão em um grupo, for pressionado, qualquer botão pressionado anteriormente nesse grupo, perderá o estado de pressionado • Gera eventos de item, de ação e de mudança • Exemplo JRadioButton • https://docs.oracle.com/javase/8/docs/api/javax/swing/JRadi oButton.html
  • 17. JTEXTFIELD • Permite a inserção de uma única linha de texto • O comando de ação é o conteúdo atual do campo de texto • getText() • setText() • getSelectedText(): retorna NULL se não houver texto selecionado • https://docs.oracle.com/javase/8/docs/api/javax/swing/JTextF ield.html
  • 18. JTEXTFIELD • Cut(): remove qualquer texto que tenha sido selecionado dentro do campo de texto e copia na área de transferência • Copy(): copia, sem remover, o texto selecionado • Paste(): copia qualquer texto que possa estar na área de transferência para o campo de texto. Se o campo tiver texto selecionado, ele será substituído pelo conteúdo da área de transferência. • Exemplo
  • 19. JSCROLLPANE • É um contêiner leve que trata automaticamente a rolagem de outro componente leve • O componente rolado pode ser individual ou um grupo de componentes • Se o objeto de rolagem for maior que a área visualizável, as barras serão fornecidas automaticamente • Automatiza a rolagem • Elimina a necessidade de gerenciar as barras individuais
  • 20. JSCROLLPANE • Viewport: • É a área visualizave de um painel de rolagem • É uma janela em que o componente que está sendo rolado é exibido • Adiciona/remove uma barra de rolagem conforme a necessidade • https://docs.oracle.com/javase/8/docs/api/javax/swing/JScroll Pane.html
  • 21. JSCROLLPANE • JSCROLLPANE(Component comp) • Comp é o componente a ser rolado • Etapas de criação: • Criar o componente a ser rolado • Criar uma instancia de JSCROLLPANE • Adicionar o painel de rolagem ao painel de conteúdo
  • 22. JLIST • É uma lista básica • Dá suporte a seleção de um ou mais itens em uma lista • JLIST é um tipo genérico JLIST < E > • E é o tipo dos itens da Lista • https://docs.oracle.com/javase/8/docs/api/javax/swing/JList.html
  • 23. JLIST JLIST ( E [ ] ITENS ) • Cria um JLIST contendo os itens do array especificado por itens • Normalmente é encapsulado dentro de um JScrollPane • Listas longas são automaticamente roláveis • Facilidade na alteração do número de entradas de uma lista sem precisar mudar o tamanho do componente JLIST
  • 24. JLIST • Gera um LISTSELECTIONEVENT • Ocorre quando o usuário faz ou altera uma seleção ou desmarca um item • LISTSELECTIONLISTENER: tratador • valueChanged(): método do tratador • Normalmente é necessário perguntar ao objeto JLIST o que aconteceu
  • 25. JLIST • Permite ao usuário selecionar vários intervalos de itens dentro da lista • setSelectionMode(int modo): permite mudar o modo de seleção dos itens • SINGLE_SELECTION: seleção simples, apenas um item pode ser selecionado.
  • 26. JLIST • SINGLE_INTERVAL_SELECTION: seleção de intervalo simples, um intervalo de itens pode ser selecionado • MULTIPLE_INTERVAL_SELECTION: seleção de múltiplos intervalos que permite selecionar vários intervalos de uma lista • getSelectedIndex(): Um índice do primeiro item selecionado pode ser obtido
  • 27. JLIST • A indexação começa com zero • Se nenhum item estiver selecionado ele retorna -1 • getSelectedValue(): retorna uma referencia ao primeiro valor selecionado • NULL é retornado se não houver nada selecionado • clearSelection(): desmarca todas as seleções
  • 28. JCOMBOBOX • É uma caixa de combinação: campo de texto + lista suspensa • JComboBox <E> • E é o tipo dos elementos contidos na lista • JComboBox ( E [ ] itens ) • Itens é um array que inicializa a caixa de combinação
  • 29. JCOMBOBOX • Gera um evento de ação quando o usuário seleciona um item na lista • Gera um evento de item quando o estado da seleção muda • Uma mudança na seleção significa dois eventos de item: item desmarcado e item selecionado
  • 30. JCOMBOBOX • getSelectedItem(): obtem o item selecionado • addItem(E item) e removeItem(E item): permite adicionar ou remover itens da lista suspensa dinamicamente, durante a execução do programa • Quando um item é adicionado, ele é inserido no fim da lista. • https://docs.oracle.com/javase/8/docs/api/javax/swing/JComboB ox.html
  • 31. JTree • É um componente que apresenta uma visão hierárquica dos dados • Subarvores podem ser expandidas ou reduzidas • JTree(Object [ ] objeto ): array de objetos • Jtree (TreeNode no): nó de árvore • Gera vários eventos
  • 32. JTree • Tratador: TreeSelectionEvent • Ouvinte: TreeSelecionListener • Método: valueChanged() • getPatch(): obtem o caminho do objeto selecionado. Retorna um objeto que descreve o caminho do NÓ selecionado
  • 33. JTree • TreePath: encapsula informações sobre o caminho de um nó específico de uma árvore • getLastPathComponente(): retorna o último nó do caminho selecionado • TreeNode: fornece métodos para obter informações sobre o nó de uma árvore
  • 34. JTree • MutableTreeNode: interface para implementação de métodos para inserir e remover nós filhos ou mudar o nó pai • DefaultMutableTreeNode: interface que representa um nó de uma árvore • JTree NÃO fornece nenhum recurso próprio de rolagem. • JTree deve ser inserido dentro de um JScrooPane
  • 35. JTree • Etapas para usar uma árvore: • Criar uma instancia de Jtree • Adicionar os nós a arvore • Criar um JScrollPane • Adicionar o painel de rolagem ao painel de conteúdo • EXEMPLO • https://docs.oracle.com/javase/8/docs/api/javax/swing/JTree. html
  • 36. JTABLE • É um componente que exibe linhas e colunas de dados • Arrastando o cursor sobre os limites da coluna, as mesmas são redimensionadas • Uma coluna pode ser arrastada para uma nova posição • Permite selecionar uma linha, uma coluna e uma célula, alterar dados da célula.
  • 37. JTABLE • É um dos componentes mais complicados de Swing • Fácil de usar se o intuito for apenas apresentar dados em formato tabular • Conceito simples: basicamente um componente com uma ou mais colunas de informações. No topo de cada coluna há um cabeçalho.
  • 38. JTABLE • JTable deve ser inserido dentro de um JScrollPane • Pode gerar vários eventos diferentes, o que é bem complexo. • Passos: • Criar uma instancia de Jtable • Criar um objeto de JScrollPane • Adicionar o painel de rolagem ao painel de conteúdo
  • 40. MODELOS • A maioria dos controles do Swing utiliza um modelo que determina como os dados associados a um controle são tratados • O modelo padrão fornecido pelos controles do Swing normalmente são suficientes • Em GUIs mais avançadas talvez seja necessário trabalhar com os modelos diretamente
  • 41. MODELOS • Swing oferece uma rica variedade de controles que facilitam a criação de GUIS amigáveis e sofisticadas • Swing dá suporte a um poderoso sistema de menus, vários controles de diálogos internos e outros controles de interface. • JFormattedTextField, JPasswordField, JProgressBar, JScrollBar, JSlider, Jspinner, JTabbedPane, JTextArea, JToolBar