Foros del Web » Programación para mayores de 30 ;) » Java »

Validacion de datos en JTextField

Estas en el tema de Validacion de datos en JTextField en el foro de Java en Foros del Web. Lo que quiero hacer es validar los datos que se ingresan en un JTextField. Tengo varios JtextField(DNI, Nombre, Apellido, Telefono, etc). Y lo que quiero ...
  #1 (permalink)  
Antiguo 17/03/2010, 19:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
Validacion de datos en JTextField

Lo que quiero hacer es validar los datos que se ingresan en un JTextField. Tengo varios JtextField(DNI, Nombre, Apellido, Telefono, etc). Y lo que quiero hacer es que se acepten numeros o texto segun corresponda. Si el usuario ingresa en un campo donde deberia ingresarse solamente texto el sistema le notifique con un mensaje que debe corregir lo que ingreso en dicho campo ya sea de forma dinamica o al momento de hacer click en el boton aceptar.
He probado crear un Document o usar un JFormattedTextField, pero estos metodos me solucionan el problema a media. De momento casteo lo que se ingresa y lo guardo asi como esta en la BD, pero no es lo que corresponde. Lo ideal seria que sea dinamico de forma que no tenga que volver a completar todo el formulario nuevamente.
  #2 (permalink)  
Antiguo 18/03/2010, 07:36
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
Respuesta: Validacion de datos en JTextField

He solucionado parte de la validacion. Pero sigo teniendo otro problema. Como valido que lo que ingrese el usuario sea solamente texto.?????

Código:
package validar;

public class Ejecutor {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Ventana v = new Ventana(null);
		v.setVisible(true);

	}

}
Código:
package validar;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import java.awt.Frame;
import java.awt.BorderLayout;
import javax.swing.JDialog;
import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JButton;
import javax.swing.JLabel;

public class Ventana extends JDialog {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JTextField Texto = null;
	private JButton Boton = null;
	private JTextField Letras = null;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;

	/**
	 * @param owner
	 */
	public Ventana(Frame owner) {
		super(owner);
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(410, 268);
		this.setContentPane(getJContentPane());
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel1 = new JLabel();
			jLabel1.setBounds(new Rectangle(14, 74, 62, 16));
			jLabel1.setText("Numero");
			jLabel = new JLabel();
			jLabel.setBounds(new Rectangle(22, 26, 38, 16));
			jLabel.setText("Texto");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getTexto(), null);
			jContentPane.add(getBoton(), null);
			jContentPane.add(getLetras(), null);
			jContentPane.add(jLabel, null);
			jContentPane.add(jLabel1, null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes Texto	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTexto() {
		if (Texto == null) {
			Texto = new JTextField();
			Texto.setBounds(new Rectangle(108, 72, 239, 20));
		}
		return Texto;
	}

	/**
	 * This method initializes Boton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBoton() {
		if (Boton == null) {
			Boton = new JButton();
			Boton.setBounds(new Rectangle(47, 103, 286, 45));
			Boton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					validar();
				}
			});
		}
		return Boton;
	}
	///MI FUNCION DE VALIDACION.
	private void validar(){
		try{
			int a = Integer.parseInt(Texto.getText());
		}catch(Exception e){
			JOptionPane.showMessageDialog(null, e + " Solo se permiten nuemeros");
			Texto.setText(null);
		}
	}

	/**
	 * This method initializes Letras	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getLetras() {
		if (Letras == null) {
			Letras = new JTextField();
			Letras.setBounds(new Rectangle(108, 23, 222, 20));
		}
		return Letras;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"
  #3 (permalink)  
Antiguo 18/03/2010, 07:39
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: Validacion de datos en JTextField

mira si esto te puede ayudar..

http://casidiablo.net/validacion-de-formularios-en-java/

saludos
  #4 (permalink)  
Antiguo 18/03/2010, 07:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
Respuesta: Validacion de datos en JTextField

Gracias lo voy a probar a ver is me sirve.
  #5 (permalink)  
Antiguo 18/03/2010, 18:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
Respuesta: Validacion de datos en JTextField

Bueno. no me ha sido muy util que digamos. Tampoco he podido usar el JFormattedTextField y hacer un document. Al final termine haciendo un KeyListener.
Si tenog tiempo les posteo el codigo

Etiquetas: jtextfield
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:32.