Buscar

Aula 8- POO

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Programação Orientada a Objetos
Professora : Jane
*
Interface Gráfica com Swing
Eventos
Aula 8
Professora: Jane
Programação Orientada a Objetos
Professora : Jane
*
Objetivo
Correção de exercício – ver projeto com gabarito 
Botões de rádio (ou botões de opções) e evento
CheckBox e evento
ComboBox e evento
Programação Orientada a Objetos
Professora : Jane
*
Hoje veremos ....
Programação Orientada a Objetos
Professora : Jane
*
RadioButton 
Evento : ActionEvent
Fonte da figura : http://docs.oracle.com/javase/tutorial/uiswing/components/button.html#radiobutton
Botões de rádio (botões de opção) são grupos de botões . Por convenção, apenas um botão no grupo pode ser selecionado a cada vez.
É preciso testar se o objeto isSelected()
 Clicar no botão de rádio é um evento de ação.
 “ Usually, you handle radio button clicks using an action listener. “
 Fonte : Página indicada acima
Programação Orientada a Objetos
Professora : Jane
*
Trabalhando com ícone
Apenas para fazer um exemplo mais interessante, teremos ícones em nossa aplicação. Para isso, usaremos um label, pois um label pode abrigar texto e/ou ícone ( arquivos .jpeg, .gif ...).
Estudando as novidades que aparecem no projeto com botões de rádio :
Classe ImageIcon 
ImageIcon(URL location) ===> cria um ImageIcon a partir da URL especificada. A classe ImageIcon implementa a interface Icon.
Método setIcon : define o ícone que o componente irá mostrar.
Ler Material do Aluno (parte 1)
Programação Orientada a Objetos
Professora : Jane
*
Teste o projeto Aula8_ExemploRadioButton
Classe Class 
 Os objetos de Class são construídos automaticamente pela JVM (Java Virtual Machine) à medida que as classes são carregadas ....
Métodos :
getClass() : obtém a classe
public URL getResource(String nome) : obtém o recurso de um nome dado. No caso, retorna a localização da imagem como um URL.
getName() : obtém o nome da entidade (classe, interface...)
 Métodos da classe JRadioButton (vide aula 5 ) 
public boolean isSelected() 
public void setSelected(boolean b)
 
Programação Orientada a Objetos
Professora : Jane
*
Tarefa 
Monte uma aplicação em Java para mudar a cor da fonte de um textfield, conforme opções dos botões de rádio Verde, Azul e Vermelho
Programação Orientada a Objetos
Professora : Jane
*
CkeckBox
JCheckBox cria um botão de marcação que possui dois estados: selecionado ou não selecionado. Os construtores e demais métodos são bastante parecidos com o JRadioButton.
Construtores:
public JCheckBox()
public JCheckBox(String texto)
public JCheckBox(Icon ícone)
public JCheckBox(String texto, Icon ícone)
public JCheckBox(String texto, boolean selecionado)
public JCheckBox(Icon ícone , boolean selecionado)
public JCheckBox(String texto, Icon ícone , boolean selecionado)
 Cria um botão de marcação com o texto e/ou ícone especificado e que pode estar, inicialmente, selecionado ou não.
Programação Orientada a Objetos
Professora : Jane
*
Alguns métodos da classe JCkeckBox:
public boolean isSelected()
Retorna o estado do botão: selecionado ou não selecionado.
public void setSelected(boolean selecionado)
Altera o estado do botão.
Não é possível agrupar os botões de marcação, como fazemos com os botões de rádio.
Programação Orientada a Objetos
Professora : Jane
*
Evento com CheckBox
Via de regra, com objeto de JCkeckBox ocorre um ItemEvent. Portanto, é preciso que o objeto tratador do evento seja de uma classe que implemente a interface ItemListener. O que significa implementar tal interface ? 
 Significa implementar o método itemStateChanged.
Assinatura do método : 
 void itemStateChanged(ItemEvent e)         
 Método invocado quando um item é selecionado ou desmarcado. 
Programação Orientada a Objetos
Professora : Jane
*
Classe ItemEvent
Constantes estáticas da classe ItemEvent :
static int DESELECTED : este valor de mudança de estado indica que um item selecionado foi desmarcado.
2) static int SELECTED : este valor de mudança de estado indica que um item foi selecionado.
 Alguns métodos de ItemEvent :
1) Object getItem() : retorna o item afetado pelo evento
2) int getStateChange() :  retorna o tipo da mudança de estado (selected or deselected), ou seja, retorna um inteiro conforme o objeto tenha sido selecionado ou não. 
Programação Orientada a Objetos
Professora : Jane
*
Exemplo : Baseado no exemplo do Deitel e Core Java 
Projeto em Aula8_ExemploCheckBox (versão Deitel e versão Jane)
 Notem as mudanças, visto que pelo exemplo do Deitel (material do aluno) não se conseguia ter a fonte ao mesmo tempo em negrito e em itálico.
Programação Orientada a Objetos
Professora : Jane
*
JComboBox
JComboBox cria uma lista drop down de seleção única
Construtores:
public JComboBox()
Cria uma combo box vazia.
public JComboBox(Object[] itens)
Cria uma combo box com os elementos do vetor. Para apresentar os itens na tela, o método toString() é chamado para cada elemento do vetor.
public JCheckBox(ComboBoxModel modelo)
Cria uma combo box a partir do modelo
Programação Orientada a Objetos
Professora : Jane
*
JComboBox
Alguns métodos:
public void addItem(Object item)
Adiciona um item à combo box.
public Object getItemAt(int i)
Retorna o i-ésimo elemento da combo box.
public int getItemCount()
Retorna a quantidade de elementos da combo box.
public int getSelectedIndex()
Retorna o índice do elemento selecionado.
public Object getSelectedItem()
Retorna o elemento selecionado.
public void removeAllItems()
Remove todos os elementos da combo box.
public void removeItem(Object item)
Remove o item especificado da combo box.
public void removeItemAt(int i)
Remove o i-ésimo elemento da combo box.
Programação Orientada a Objetos
Professora : Jane
*
Eventos no Combo Box 
É possível termos eventos de ação (ActionEvent) ou eventos de item (ItemEvent).
“The combo box fires an action event when the user selects an item from the combo box's menu .“ 
 Fonte : http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html
Tradução : Ocorre evento de ação no combo box quando o usuário seleciona um item do menu do combo box.
Programação Orientada a Objetos
Professora : Jane
*
Eventos no ComboBox
 “ Combo boxes also generate item events, which are fired when any of the items' selection state changes. Only one item at a time can be selected in a combo box, so when the user makes a new selection the previously selected item becomes unselected. Thus two item events are fired each time the user selects a different item from the menu. If the user chooses the same item, no item events are fired. Use addItemListener to register an item listener on a combo box. “
 Fonte : http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html
Tradução : Ocorre evento de item (item event) quando o estado de seleção do item muda. Apenas um item a cada vez pode ser selecionado em um combo box, então quando o usuário realiza uma nova seleção, o item previamente selecionado se torna desmarcado (DESELECTED). Assim, 2 eventos de item ocorrem a cada vez que o usuário seleciona um item diferente do menu de opções do combo. Se o usuário escolher o mesmo item, então nenhum evento de item ocorrerá. Use o método addItemListener para registrar um ouvinte de item em um combo box.
Programação Orientada a Objetos
Professora : Jane
*
Observações :
Ver projeto exemplo Exemplo1ComboSemClasseAnonima
Note : O padrão do combo é não editável, mas é possível termos combos editáveis.
Programação Orientada a Objetos
Professora : Jane
*
Tarefas :
1) Faça uma aplicação que leia o nome de uma pessoa e ofereça um comboBox com faixas etárias :
Até 12 anos
De 13 anos até 17 anos
De 18 em diante
Conforme a faixa selecionada deverá ser apresentada uma das mensagens 
abaixo :
 Infantil
 Juvenil
 Adulto
2) Adicione dois checkboxes para escolha de esporte : futebol,
natação e judô.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais