【问题标题】:JavaFX HTMLEditor : limit text lengthJavaFX HTMLEditor:限制文本长度
【发布时间】:2015-07-09 14:42:36
【问题描述】:
是否可以限制 JavaFX HTMLEditor 中的输入长度?我尝试向编辑器添加一个事件处理程序,并在内容达到预定义限制时使用该事件,但它似乎不起作用。
editor.addEventHandler(KeyEvent.KEY_TYPED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent arg0) {
if (editor.getHtmlText().length() >= MY_LIMIT) {
arg0.consume();
}
}
});
有没有人设法做到这一点?有没有可能?
提前致谢。
【问题讨论】:
标签:
java
javafx
html-editor
【解决方案1】:
我确信有一种更优雅的方法可以解决这个问题,但是下面的代码应该可以工作:
你需要两个私有类属性
private static final int MAX_LENGTH = 250;
private String content;
以及以下事件处理程序
editor.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if(editor.getHtmlText().length() <= MAX_LENGTH) {
content = editor.getHtmlText();
}
}
});
editor.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if(editor.getHtmlText().length() > MAX_LENGTH) {
editor.setHtmlText(content);
}
}
});