Buscar

AULA 5 (parte 2) - PROGRAMAÇÃO ORIENTADA A OBJETOS

Prévia do material em texto

Interface Gráfica com Swing
Aula 5 – parte 2
Professora: Jane
Programação Orientada a Objetos Professora : Jane2
Interfaces com campos
• Classes do pacote Swing :
– JTextField : campo de texto livre, com uma só linha
– JTextArea : campo de texto livre com múltiplas linhas, 
visto em aula anterior.
– JPasswordField : campo de texto livre, com uma linha, 
sem formatação, específico para entrada de senhas. 
Programação Orientada a Objetos Professora : Jane3
JTextArea
• Hierarquia :
• Alguns construtores :
1) JTextArea() : constrói uma nova área de texto
2) JTextArea(int rows, int columns) : constrói uma área de texto vazia com o 
número de linhas (rows) e colunas (columns).
3) JTextArea(String text) : constrói uma área de texto com o texto especificado
4) JTextArea(String text, int rows, int columns) : constrói uma área de texto com o 
texto e as linhas e colunas especificados.
Programação Orientada a Objetos Professora : Jane4
Observação :
• Um objeto de JTextArea não apresenta, naturalmente, barras de rolagem. Para 
tanto, é preciso instanciar outra classe, ou seja, criar um objeto da classe 
JScrollPane e associá-lo à área de texto. Depois, é só adicionar o objeto de 
JScrollPane ao um painel, por exemplo.
• Alguns métodos para usar com JTextArea:
– void append(String str) : concatena o texto dado ao final do documento.
– void setFont(Font f) : define a fonte corrente
– setText, como em JTextField
– getText, como em JTextField
– setEditable, que recebe true ou false, como já vimos antes
Programação Orientada a Objetos Professora : Jane5
Exemplo com JTextArea e JScrollPane
• Considere o trecho na main :
Considerando um JFrame janela com 2 painéis e ainda, cada painel com uma 
área de texto, então :
JTextArea area1 = new JTextArea(20,50);
JTextArea area2 = new JTextArea("AREA 2",20,50);
JScrollPane br = new JScrollPane(area1); //area1 terá scroll
Programação Orientada a Objetos Professora : Jane6
janela.add(painel1,BorderLayout.WEST);
painel1.setBackground(Color.GREEN);
painel1.add(br);
janela.add(painel2,BorderLayout.CENTER);
painel2.setBackground(Color.BLACK);
painel2.add(area2);
area1.setForeground(Color.RED);
area1.setText("Aula de POO");
area2.append(" " + area1.getText() 
+ " Testando");
Teste o projeto :
Aula5_JTextArea
Programação Orientada a Objetos Professora : Jane7
Para casa - exercício de fixação :
1) Tire o comentário e rode a aplicação.
2) Use a aplicação com JTextArea e altere as cores das áreas de texto para 
amarelo (area1) e vermelho (area2).
Programação Orientada a Objetos Professora : Jane8
Classe JPasswordField
• Hierarquia de classes:
Fonte : 
http://docs.oracle.com/javase/6/docs/api/javax/swing/JPasswordField.html
Programação Orientada a Objetos Professora : Jane9
Classe JPasswordField
• Alguns construtores :
1) JPasswordField(int columns) : constrói um objeto de JPasswordField vazio 
com o número especificado de colunas. 
2) JPasswordField (String text) : constrói um objeto de JPasswordField 
inicializado com o texto especificado.
3) JPasswordField (String text, int columns) : constrói um objeto de 
JPasswordField inicializado com o texto e as colunas especificados.
Programação Orientada a Objetos Professora : Jane10
Testar o projeto Aula5_Senha
• Métodos da classe JPasswordField :
1) char[] getPassword() : retorna o texto contido no componente
2) char getEchoChar() : retorna o caracter que ecoa (echoing).
3) void setEchoChar(char c) : define o caracter que ecoa para o objeto de 
JPasswordField.
Exemplos : JPasswordField senha = new JPasswordField(10);
painel.add(senha);
//Usaremos getPassword quando possível
senha.setEchoChar(‘#');
JOptionPane.showMessageDialog(null,senha.getEchoChar());
Programação Orientada a Objetos Professora : Jane11
Botões
• Classes do pacote Swing :
– JButton (já visto em aulas anteriores)
– JRadioButton : para opções únicas e exclusivas. Por exemplo : sexo, estado 
civil, etc... (já visto em aulas anteriores)
– JCheckbox : para opções múltiplas e não exclusivas, tais como bens que uma 
pessoa possui, seja carro, casa, moto, ...
- JToggleButton : classe mãe de JRadioButton e JCheckbox
Programação Orientada a Objetos Professora : Jane12
Classe JCheckBox
Fonte da figura : 
http://docs.oracle.com/javase/tutorial/uiswing/components/button.html#checkbox
Programação Orientada a Objetos Professora : Jane13
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 : Jane14
 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.
 Podemos selecionar vários checkboxes em uma mesma 
aplicaçã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 : Jane15
Exemplo : Um pequeno trecho
JCheckBox chinButton = new JCheckBox("Chin"); 
chinButton.setMnemonic(‘C’); //Veja que C está sublinhado
chinButton.setSelected(true);
Idem para os demais botões da figura.
Programação Orientada a Objetos Professora : Jane16
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(marcado) ou 
desmarcado.
Programação Orientada a Objetos Professora : Jane17
Classe ItemEvent
• Constantes estáticas da classe ItemEvent :
1) 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 
ou DESELECTED ), ou seja, retorna um inteiro conforme o objeto tenha sido 
selecionado ou tenha sido desmarcado. 
Programação Orientada a Objetos Professora : Jane18
Exemplo : Baseado no exemplo do 
Deitel e Core Java 
Projetos : Aula8_ExemploCheckBox (versão Deitel ) e 
Aula8_ExemploCheckBox_Jane 
Programação Orientada a Objetos Professora : Jane19
Nota : 
• Em uma aula mais adiante, quando estudarmos eventos, 
veremos interfaces com :
– JMenu
– JList (para listas)
– JCombobox (para combos)
– JTable (para tabelas)
e mais caixas de diálogo .

Continue navegando