- Creamos el panel principal.
- Creamos los campos de texto.
- Creamos el botón.
- Lo agregamos todo a nuestro panel principal.
- Almacenamos en una variable el estado del botón (true o false).
- Creamos un listener para los campos de texto.
- Agregamos un listener para pasar el foco a cada uno de los componentes.
- Agregamos al listener la condición de si el campo esta vacío coloque verdadera la variable del botón (true) o de lo contrario no lo haga (false).
- Validamos nuestro LogIn.
import javax.swing.*; import java.awt.event.*; @SuppressWarnings("deprecation") public class btn_login extends JFrame { boolean boton=false; JPanel PANEL = new JPanel(); JTextField USR = new JTextField(25); JPasswordField PASS = new JPasswordField(25); JLabel USER = new JLabel("Usuario"); JLabel CLAVE = new JLabel("Clave"); JButton BOTON = new JButton("Ok"); public btn_login() { super("Login"); setLocation(100,100); setSize(320,160); add(PANEL); PANEL.add(USER); PANEL.add(USR); PANEL.add(CLAVE); PANEL.add(PASS); PANEL.add(BOTON); BOTON.setEnabled(boton); USR.addKeyListener(new Comprobar()); PASS.addKeyListener(new Comprobar()); BOTON.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ Validar(); } }); USR.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ PASS.requestFocus(); } }); PASS.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ if(boton) Validar(); else USR.requestFocus(); } }); show(); } public class Comprobar extends KeyAdapter { public void keyTyped ( KeyEvent evt ){ if(!USR.getText().equals("") && !PASS.getText().equals("")){ boton=true; BOTON.setEnabled(boton); } else { boton=false; BOTON.setEnabled(boton); } } } void Validar(){ JOptionPane.showMessageDialog(null,"Hay escrito algo "+ "y procesas el LogIn"); } public static void main(String[] arg) { JOptionPane.showMessageDialog(null,"Validando un login...\n"); JOptionPane.showMessageDialog(null,"By Carlitox ("+ "http://calitoxenlaweb.blogspot.com)"); new btn_login(); } }
Como dije es algo básico, lo mas importante son los listener del evento del teclado (los del tipo keyTyped) pues son los que evalúan si los campos estan vacíos para habilitar el botón o no cada vez que se presione una tecla.
Recibe notificaciones por correo