先写一个document类:
import javax.swing.text.*;
import java.awt.*;class LimitedLengthDocument extends PlainDocument
{
    private length ;
    public LimitedLengthDocument(int len)
    {
        this.length = len;
    }    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
        if (str == null) {
            return;
        }
        // Get current value
        String curVal = getText(0, getLength());
        if ( curVal.length() > length ) 
            return;
        else
            super.insertString(index, s, a);
 
}
用法:JTextField txtbox = new JTextField();
txtbox.setDocument(new LimitedLengthDocument(5));或者
JTextField jt=new JTextField(20);
jt.addFocusListener(new FocusAdapter() {
  public void focusLost(FocusEvent e) {
    if(jt.getText().length()>5) {
      javax.swing.JOptionPane.showMessageDialog(null,"输入必须小于五位!");
      jt.requestFocus();
    }
  }
}