Per limitare JTextField si deve estendere PlainDocument:
codice:
import javax.swing.text.*;
public class LimitedPlainDocument extends PlainDocument
{
private int maxSize;
public LimitedPlainDocument (int maxSize)
{
this.maxSize = maxSize;
}
public void insertString (int offs, String str, AttributeSet a)
throws BadLocationException
{
if (str == null)
return;
if (getLength () + str.length () > maxSize)
str = str.substring (0, maxSize - getLength ());
super.insertString (offs, str, a);
}
}
Poi ad esempio:
tuoTextField.setDocument (new LimitedPlainDocument (20));