Limitar el contenido de un JTextField
Hola a tod@s:
Mi cuestión es la siguiente: tengo un JTextField y quisiera que sólo se pudiera admitir en él un byte de una dir.IP, es decir un número entero menor que 255., y que no apareciese ningún otro carácter en el texto que no fuera un número. ¿Cual serÃa la mejor forma de hacerlo?
Mi cuestión es la siguiente: tengo un JTextField y quisiera que sólo se pudiera admitir en él un byte de una dir.IP, es decir un número entero menor que 255., y que no apareciese ningún otro carácter en el texto que no fuera un número. ¿Cual serÃa la mejor forma de hacerlo?
Cambiando el document del textField:
jTextField.setDocument(new DefaultStyledDocument(){
public void insertString(int offs, String str, javax.swing.text.AttributeSet a)throws javax.swing.text.BadLocationException{
if (str==null) str="";
char[] cadena=str.toCharArray();
for (int i=0;i<cadena.length;i++){
if (!Character.isDigit(cadena[i])&&cadena[i]!=' '){
java.awt.Toolkit.getDefaultToolkit().beep();
return;
}
}
if ((getLength() + str.length()) <= 3){
super.insertString(offs, str, a);
}else java.awt.Toolkit.getDefaultToolkit().beep();
}
});
Saludos!
jTextField.setDocument(new DefaultStyledDocument(){
public void insertString(int offs, String str, javax.swing.text.AttributeSet a)throws javax.swing.text.BadLocationException{
if (str==null) str="";
char[] cadena=str.toCharArray();
for (int i=0;i<cadena.length;i++){
if (!Character.isDigit(cadena[i])&&cadena[i]!=' '){
java.awt.Toolkit.getDefaultToolkit().beep();
return;
}
}
if ((getLength() + str.length()) <= 3){
super.insertString(offs, str, a);
}else java.awt.Toolkit.getDefaultToolkit().beep();
}
});
Saludos!
