Baixe o app para aproveitar ainda mais
Prévia do material em texto
TRATAMENTOS DE EVENTOS PARA INTERFACES GRÁFICAS EVENTOS DE TEXTOS EVENTO EM UM JTextField package control; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; //PARA CLASSE SERIALIZABLE, no caso EventoTxt, salva o estado do objeto criado em EventoTxt() para ser usado no futuro. @SuppressWarnings("serial") public class EventoTxt extends JFrame { private JLabel label1; private JTextField textField1; //CONSTRUTOR TEXTFIELDFRAME ADICIONA JTEXTDFIELD AO JFRAME public EventoTxt() { super("Evento de um JTextField - PROF. EDIBERTO"); setLayout(new FlowLayout()); label1 = new JLabel("Informe um nome e depois pressione a tecla ENTER"); add(label1); //CONSTRÓI TEXTFIELD COM 10 COLUNAS textField1 = new JTextField(10); add(textField1); //ADICIONA TEXTFIELD1 AO JFRAME //HANDLERS DE EVENTO REGISTRADORES TextFieldHandler handler = new TextFieldHandler(); textField1.addActionListener(handler); } //CLASSE INTERNA PRIVATE PARA TRATAMENTO DE EVENTO private class TextFieldHandler implements ActionListener { //PROCESSA EVENTOS DO CAMPO DE TEXTO public void actionPerformed(ActionEvent event){ String string = ""; //USUÁRIO PRESSIONOU ENTER NO JTEXTFIELD textField1 string = String.format("O nome informado foi : %s", event.getActionCommand()); //EXIBE O CONTEÚDO DE JTEXTFIELD JOptionPane.showMessageDialog(null, string); } } } //CLASSE INSTANCIADORA package model; //import javax.swing.JFrame; import control.EventoTxt; public class ExecutaEventoTxt { public static void main(String[] args) { EventoTxt textField = new EventoTxt(); //textField.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); textField.setSize(400,100); textField.setVisible(true); } } SAÍDA Exercício. Elabore um programa em Java que realize o tratamentos de eventos em dois JTextField´s, conforme telas descritas abaixo: SAÍDAS EVENTOS EM UM JTextField E UM JPasswordField package control; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField; //PARA CLASSE SERIALIZABLE, no caso EventoTxt, salva o estado do objeto criado em EventoTxt() para ser //usado no futuro. @SuppressWarnings("serial") public class EventoTxt extends JFrame { private JLabel label1; private JLabel label2; private JTextField textField1; private JPasswordField passwordField; //CONSTRUTOR TEXTFIELDFRAME ADICIONA JTEXTDFIELD AO JFRAME public EventoTxt() { super("Evento de TEXTO - PROF. EDIBERTO"); setLayout(new FlowLayout()); label1 = new JLabel("Informe um nome e depois pressione a tecla ENTER"); label2 = new JLabel("Informe a Password e depois pressione a tecla ENTER"); add(label1); //CONSTRÓI TEXTFIELD COM 10 COLUNAS textField1 = new JTextField(10); add(textField1); add(label2); //CONSTRÓI PASSWORDFIELD COM TEXTO PADRÃO passwordField = new JPasswordField(" "); add(passwordField); //ADICIONA PASSWORDFIELD AO JFRAME //HANDLERS DE EVENTO REGISTRADORES TextFieldHandler handler = new TextFieldHandler(); textField1.addActionListener(handler); passwordField.addActionListener(handler); } //CLASSE INTERNA PRIVATE PARA TRATAMENTO DE EVENTO private class TextFieldHandler implements ActionListener { //PROCESSA EVENTOS DE CAMPO DE TEXTO public void actionPerformed(ActionEvent event){ String string = ""; //USUÁRIO PRESSIONOU ENTER NO JTEXTFIELD TEXTFIELD1 if(event.getSource() == textField1) string = String.format("Texto informado foi : %s", event.getActionCommand()); //USUÁRIO PRESSIONOU ENTER NO JPasswordField passwordField else if(event.getSource() == passwordField) string = String.format("Password informada foi : %s", event.getActionCommand()); //EXIBE O CONTEÚDO DE JTEXTFIELD JOptionPane.showMessageDialog(null, string); } } } //CLASSE INSTANCIADORA package model; import control.EventoTxt; public class ExecutaEventoTxt { public static void main(String[] args) { EventoTxt textField = new EventoTxt(); //textField.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); textField.setSize(350,140); //LARGURA E ALTURA textField.setVisible(true); } } SAÍDA �PAGE � �PAGE �3�
Compartilhar