Class ContentChangeEvent

java.lang.Object
java.util.EventObject
com.vaadin.flow.component.ComponentEvent<VaadinCKEditor>
com.wontlost.ckeditor.event.ContentChangeEvent
All Implemented Interfaces:
Serializable

public class ContentChangeEvent extends com.vaadin.flow.component.ComponentEvent<VaadinCKEditor>
内容变更事件。 当编辑器内容发生变化时触发,提供变更前后的内容。

使用示例:

editor.addContentChangeListener(event -> {
    // 计算差异
    int charDiff = event.getNewContent().length() - event.getOldContent().length();
    updateCharacterCount(charDiff);

    // 标记为未保存
    markAsUnsaved();
});

注意:此事件与 Vaadin 的 ValueChangeListener 不同:

  • ContentChangeEvent - 每次内容变化都触发(实时)
  • ValueChangeListener - 失去焦点或同步时触发
See Also:
  • Constructor Details

    • ContentChangeEvent

      public ContentChangeEvent(VaadinCKEditor source, boolean fromClient, String oldContent, String newContent, ContentChangeEvent.ChangeSource changeSource)
      创建内容变更事件
      Parameters:
      source - 触发事件的编辑器组件
      fromClient - 事件是否来自客户端
      oldContent - 变更前的内容
      newContent - 变更后的内容
      changeSource - 变更来源
  • Method Details

    • getOldContent

      public String getOldContent()
      获取变更前的内容
      Returns:
      旧内容
    • getNewContent

      public String getNewContent()
      获取变更后的内容
      Returns:
      新内容
    • getChangeSource

      public ContentChangeEvent.ChangeSource getChangeSource()
      获取变更来源
      Returns:
      变更来源类型
    • hasChanged

      public boolean hasChanged()
      检查内容是否实际发生了变化
      Returns:
      如果内容不同返回 true
    • getLengthDelta

      public int getLengthDelta()
      获取内容长度变化
      Returns:
      字符数变化(正数表示增加,负数表示减少)