2015-07-09 6 views
0

Возможно ли ограничить длину ввода в HTMLEditor JavaFX? Я попытался добавить обработчик событий в редактор и использовать событие, когда контент достигнет предопределенного предела, но он, похоже, не работает.JavaFX HTMLEditor: ограничение длины текста

editor.addEventHandler(KeyEvent.KEY_TYPED, new EventHandler<KeyEvent>() { 
    @Override 
    public void handle(KeyEvent arg0) { 
     if (editor.getHtmlText().length() >= MY_LIMIT) { 
      arg0.consume(); 
     } 
    } 
}); 

Удалось ли кому-нибудь добиться этого? Возможно ли это?

Заранее спасибо.

ответ

0

Я уверен, что есть более элегантный способ решить эту проблему, но следующий код должен работать:

Вам нужны два частных атрибуты класса

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); 
     } 
    } 
}); 
Смежные вопросы