Validar un JTextField

Tengo un JtextField y necesito que el usuario introduzca información valida, es decir, que no quede NULO o en blanco. ¿Cómo lo puedo hacer?... Lo he intentado de muchas maneras pero no me ha resultado.
Respuesta
1
La clase JTextField hereda un método llamado getText(), que devuelve el contenido de la caja de texto en un String. Por su parte, la clase String tiene un método llamado equals, que recibe como argumento una cadena de texto con la que se va a comparar la del propio objeto y devuelve un booleano indicando si las cadenas son iguales.
Por ejemplo:
"miCadena".equals("miCadena") devolvería true.
"miOtraCadena".equals("miPrimeraCadena") devolvería false.
El siguiente fragmento de código evaluaría si tu caja de texto está vacía o no:
if (miCajaTexto.getText().equals(""))
// La caja está vacía, ¡haz algo!
He escrito un pequeño programa de prueba, pero no he tenido tiempo de añadirle comentarios. Aun así puede que te sirva de referencia:
////////////////////////////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Prueba extends JFrame {
public static void main(String[] args) {
Prueba ventana = new Prueba();
OyenteVentana oyenteVentana = new OyenteVentana();
ventana.setSize(640, 480);
ventana.setTitle("Hola, mundo");
ventana.addWindowListener(oyenteVentana);
Container c = ventana.getContentPane();
JTextField texto = new JTextField();
JButton botonValidar = new JButton("¿Está vacía la caja?");
OyenteBoton oyenteBoton = null;
texto.setColumns(10);
oyenteBoton = new OyenteBoton(ventana, texto);
botonValidar.setActionCommand("botonValidar");
botonValidar.addActionListener(oyenteBoton);
c.setLayout(new FlowLayout());
c.add(texto);
c.add(botonValidar);
ventana.setVisible(true);
}
}
class OyenteVentana extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
class OyenteBoton implements ActionListener {
private JFrame ventana = null;
private JTextField texto = null;
public OyenteBoton(JFrame ventana, JTextField texto) {
this.ventana = ventana;
this.texto = texto;
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("botonValidar"))
if (texto.getText().equals(""))
JOptionPane.showMessageDialog(ventana, "¡La caja está vacía!");
else
JOptionPane.showMessageDialog(ventana, "No, no lo está.");
}
}
////////////////////////////////////////
Puedes consultarme cualquier duda que tengas. Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas