Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2013, 08:14
jurassicboy
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Comparar JTextField con cadena mientras se escribe.

Buenos días compañeros,

Estoy haciendo un tutorial de Java por mi cuenta y tengo un código que lo que hace es comparar una cadena Nombre introducida con "juan" y otro textbox código que hace lo propio con "abc123". La comparación se realiza con un evento al pulsar un botón.

¿Es posible hacer que la comparación se haga de manera automática a medida que se van introduciendo los carácteres en el textbox?

He estado peleándome con la interficie KeyListener sin éxito.

Adjunto el código que tengo:

Código Java:
Ver original
  1. import javax.swing.*;
  2. import java.awt.event.*;
  3. public class Formulario extends JFrame implements ActionListener {
  4.     private JLabel label1,label2;
  5.     private JTextField textfield1,textfield2;
  6.     private JButton boton1;
  7.     public Formulario() {
  8.         setLayout(null);
  9.         label1=new JLabel("Nombre:");
  10.         label1.setBounds(10,10,100,30);
  11.         add(label1);
  12.         label2=new JLabel("Clave:");
  13.         label2.setBounds(10,50,100,30);
  14.         add(label2);
  15.         textfield1=new JTextField();
  16.         textfield1.setBounds(130,10,100,30);
  17.         add(textfield1);
  18.         textfield2=new JTextField();
  19.         textfield2.setBounds(130,50,100,30);
  20.         add(textfield2);
  21.         boton1=new JButton("Confirmar");
  22.         boton1.setBounds(10,100,100,30);
  23.         add(boton1);
  24.         boton1.addActionListener(this);
  25.     }
  26.  
  27.     public void actionPerformed(ActionEvent e) {
  28.         if (e.getSource()==boton1) {
  29.             String cad1=textfield1.getText();
  30.             String cad2=textfield2.getText();
  31.             if (cad1.equals("juan")==true && cad2.equals("abc123")==true) {
  32.                 setTitle("Correcto");
  33.             } else {
  34.                 setTitle("Incorrecto");
  35.             }
  36.         }
  37.     }
  38.    
  39.     public static void main(String[] ar) {
  40.         Formulario formulario1=new Formulario();
  41.         formulario1.setBounds(0,0,240,200);
  42.         formulario1.setVisible(true);
  43.     }    
  44. }



Muchas gracias por todo.