Sometimes it is useful to have a text field, for which you can specify a max number of characters. The following class give you just that:
import java.awt.*;
import java.awt.event.*;
public class LimitedLength_TextField extends TextField
implements KeyListener
{
private int maxLength;
public LimitedLength_TextField
(String str,int cols,int maxLength)
{
super(str,cols);
this.maxLength = maxLength;
addKeyListener(this);
}
public LimitedLength_TextField (int cols,int maxLength)
{
this("",cols,maxLength);
}
public void keyTyped(KeyEvent e)
{
char c = e.getKeyChar();
int len = getText().length();
if (len < maxLength)
{
return;
}
else
{
if((c==KeyEvent.VK_BACK_SPACE)||
(c==KeyEvent.VK_DELETE) ||
(c==KeyEvent.VK_ENTER)||
(c==KeyEvent.VK_TAB)||
e.isActionKey())
{
return;
}
else
{
e.consume();
}
}
}
public void keyPressed(KeyEvent e) { }
public void keyReleased(KeyEvent e) { }
}