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());
}