Boa Tarde,
Estou precisando de uma classe que limite o número de caracteres de um JTextfield e que aceite apenas os digitos 0, 1 e 2.
Eu tenho a classe abaixo que Limita e permite aceitação de apenas números. Como eu poderia modificar ela para que a mesma aceite somente os números informados acima?
import javax.swing.JOptionPane;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
public class LimitedIntegerDocument extends PlainDocument
{
private int maxlength;
public LimitedIntegerDocument(){}
public LimitedIntegerDocument(int maxlength)
{
super();
this.maxlength = maxlength;
}
public void insertString(int offs, String str, AttributeSet a)
{
try
{
Integer.parseInt(str);
} catch (NumberFormatException ex)
{
str = "";
}
try
{
boolean fixedLengh = (!((getLength() + str.length()) > maxlength));
if (maxlength == 0 || fixedLengh)
{
super.insertString(offs, str, a);
}
} catch (BadLocationException e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
}