Buscar

Unidade 2 Manipulaçao de eventos TEXTO

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�

Continue navegando