/** * 当文本处于正在编辑时,实时进行拼写检查,<div style='color:red'>该方法与{@link #tgtTextFirstRealTimeSpellCheck} 类似</div> */ private static void tgtTextRealTimeSpellCheck( final String tgtLang, final HsMultiCellEditor targetEditor) { final StyledTextCellEditor tgtEditor = targetEditor.getCellEditor(); final StyledText text = tgtEditor.getSegmentViewer().getTextWidget(); if (tgtLang == null) { return; } text.addModifyListener( new ModifyListener() { public void modifyText(ModifyEvent e) { String tgtText = text.getText(); if (tgtText.isEmpty()) { return; } String endStr = tgtText.substring(tgtText.length() - 1, tgtText.length()); if (endStr.matches(ENDREGEX)) { List<SingleWord> errorWordList = new LinkedList<SingleWord>(); errorWordList = spellTrigger.getErrorWords(tgtText, tgtLang); if (errorWordList != null && errorWordList.size() > 0) { targetEditor.highLightedErrorWord(tgtText, errorWordList); } else { targetEditor.refreshErrorWordsStyle(null); } } } }); }
/** * 当一个文本段初次获取焦点时,实时进行拼写检查,<div style='color:red'>该方法与{@link tgtTextRealTimeSpellCheck} 类似</div> */ private static void tgtTextFirstRealTimeSpellCheck( final String tgtLang, HsMultiCellEditor targetEditor) { final StyledTextCellEditor tgtEditor = targetEditor.getCellEditor(); final StyledText text = tgtEditor.getSegmentViewer().getTextWidget(); if (tgtLang == null) { return; } String tgtText = text.getText(); if (tgtText == null || "".equals(tgtText.trim())) { return; } List<SingleWord> errorWordList = new LinkedList<SingleWord>(); errorWordList = spellTrigger.getErrorWords(tgtText, tgtLang); if (errorWordList != null && errorWordList.size() > 0) { targetEditor.highLightedErrorWord(tgtText, errorWordList); } else { targetEditor.refreshErrorWordsStyle(null); } }