我正在使用JavaFX 2.2项目,我使用TextField控件时遇到问题.我想限制用户将输入到每个TextField的字符,但我找不到像maxlength这样的属性.摆动存在同样的问题,并以this方式解决.如何解决JavaFX 2.2?
解决方法:
这是在通用文本字段上执行此工作的更好方法:
public static void addTextLimiter(final TextField tf, final int maxLength) {
tf.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(final ObservableValue<? extends String> ov, final String oldValue, final String newValue) {
if (tf.getText().length() > maxLength) {
String s = tf.getText().substring(0, maxLength);
tf.setText(s);
}
}
});
}
除了那个Undo bug之外,它完美地运行.