Validar un textField

lilianacamargo
19 de Mayo del 2008
Hola estoy desarrollando una aplicacion muy sencilla y necesito saber como hago para validar un textfield para que solo me reciba letras o numeros.
Espero que alguien me pueda colaborar. gracias

jorgeluisnt
19 de Mayo del 2008
Hola disculpa pero recien entro a esta pagina y esta muy interesante. respecto a tu pregunta lo que tienes que hacer en implementar un PlainDocument. Aqui te envio el codigo para que solo acepte numeros.

import java.awt.Toolkit;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class Enteros extends PlainDocument {

private int limit;

/**
*
* @param limit
*/
public Enteros(int limit) {
super();
setLimit(limit);
}


/**
*
* @param limite
*/
public final void setLimit(int limite){
this.limit=limite;
}

public void insertString(int offset,String string, AttributeSet attributes)throws BadLocationException
{
if(offset<limit){

if (string == null) {
return;
}
else {
String newValue;
int length = getLength();
if (length == 0)
{
newValue = string;
}
else {
String currentContent = getText(0, length);
StringBuffer currentBuffer = new StringBuffer(currentContent);
currentBuffer.insert(offset, string);
newValue = currentBuffer.toString();
}
try {
Integer.parseInt(newValue);
super.insertString(offset, string,attributes);
} catch (NumberFormatException exception)
{
Toolkit.getDefaultToolkit().beep();
}
}
}
else Toolkit.getDefaultToolkit().beep();
}
}



donde limit es la cantidad de caracteres que quieres que ingrese.

y se agrega a un jtexfield de esta manera.

jtextfield1.setDocument(new Enteros(5));