我正在处理 JavaFX 2.2 项目,但在使用 TextField
控件时遇到问题。我想限制用户可以在每个 TextField
中输入的字符数。但是我找不到属性或类似 maxlength 的东西。 Swing 中存在同样的问题,已解决 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);
}
}
});
}
工作完美,除了撤消错误。
关于JavaFX 2.2 TextField 最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15159988/