Baixe o app para aproveitar ainda mais
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 .
Compartilhar