Java 是否可以限制TextField(而不是JTextField)中输入的长度

Java 是否可以限制TextField(而不是JTextField)中输入的长度,java,user-interface,Java,User Interface,我需要限制输入的长度..我应该怎么做?谢谢 TextField tf3=new TextField(""); tf3.setBackground(Color.pink); tf3.setForeground(Color.blue); 有关实际页面,请参阅此页 希望这个能有所帮助。公共类BoundedTextField扩展了TextField{ int MAX_LEN = 10; TextField.addDataChangeListener(new DataChangedLi

我需要限制输入的长度..我应该怎么做?谢谢

TextField tf3=new TextField("");
    tf3.setBackground(Color.pink);
    tf3.setForeground(Color.blue);
有关实际页面,请参阅此页
希望这个能有所帮助。

公共类BoundedTextField扩展了TextField{
int MAX_LEN = 10;

TextField.addDataChangeListener(new DataChangedListener() {

  public void dataChanged(int type, int index) {

    if(TextField.getText().length() > MAX_LEN ) {
    TextField.setText(TextField.getText().substring(0, MAX_LEN ));

  }
}
@凌驾 公共void setMaxLength(int m){ super.setMaxLength(m); 如果(渲染){ getInputEl().setElementAttribute(“maxLength”,m); } } @凌驾 受保护的void onRender(元素目标,int索引){ super.onRender(目标,索引); getInputEl().setElementAttribute(“maxLength”,getMaxLength()); }
}

public class BoundedTextField<D> extends TextField<D> {
@Override
public void setMaxLength(int m) {
    super.setMaxLength(m);
    if (rendered) {
        getInputEl().setElementAttribute("maxLength", m);
    }
}

@Override
protected void onRender(Element target, int index) {
    super.onRender(target, index);
    getInputEl().setElementAttribute("maxLength", getMaxLength());
}