【问题标题】: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);
            }
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多