Руководство разработчика

Бибилотека amSpellChecker предназначена для проверки орфографии в текстовых компонентах java, наследующих классу JTextComponent. Библиотека проверяет все слова в тестовом компоненте по мере их ввода или вставки и если слова нет в словаре, то оно выделяется. Словарь представляет собой текстовый файл, в котором каждое слово располагается на отдельной строке. Вы можете составить свой словарь или использовать тот, что поставляется с библиотекой и пополнять его.

Для упрощения использования библиотеки создан класс SpellFacade, предоставляющий разработчику все необходимые методы. Подробнее об этом и других классах библиотеки читайте в описании. А сейчас разбиремся с тем, как использовать библиотеку.

Создание объекта для проверки

Первым делом необходимо загрузить словарь:
SpellFacade.loadDic(new File("russian.dic"));

Создаем текстовое поле:
JTextField tf = new JTextField();

Теперь включим текстовое поле в список компонентов с проверкой орфографии:
SpellFacade.addSpellChecker(tp);

Все! Слова в текстовом поле, которых нет в словаре, будут выделяться.

Включение и отключение проверки орфографии

Проверку орфографии во всех включенных в список компонентах можно включать и отключать. Чтобы выключить проверку вызовите метод SpellFacade.setCheckEnabled(false);. Чтобы включить - вызовите тот же метод с параметром true.

Добавление слов в словарь

Для добавления слов в словарь используйте метод SpellFacade.addWords(String words). Все слова, переданные во входном параметре, добавляются в словарь, если их там еще нет.
Например, оператор SpellFacade.addWords("добавим слова в словарь"); добавит следующие слова "добавим", "слова", "в", "словарь".
В примере показано как сделать всплывающее меню для текстовой панели, позволяющее добавлять в словарь выделенные в панеле слова.

Кроме того, слова можно добавить непосредственно в файл словаря. При этом, слово должно вводиться заглавными буквами, каждое слово должно располагаться в отдельной строке, порядок слов в файле не имеет значение. При ручном добавлении слов в словарь необходмио следить за тем, чтобы слова в нем не повторялись.

Можно добавить в словарь все слова из текстового файла с помощь класса DictinaryCreator. При этом программа сама будет преобразовывать буквы слов в заглавные и следить за отсутствием повторений.
Следующий пример показывает как добавить в словарь russian.dic все слова из файла book.txt:
//создаем объект для работы со словарем
//и загружаем в него набор слов из файла russian.dic
DictinaryCreator dc = new DictinaryCreator(new File("russian.dic"));
//загружаем слова из файла book.txt
dc.loadBook(new File("book.txt");
//сохраняем пополненный словарь
dc.save();

Удаление слов из словаря

Для удаления слов из словаря используйте метод SpellFacade.removeWords(String words). Он удаляет из словаря все слова, присутствующей в заданной строке. В примере показано как создать пункт всплывающего меню для удаления из словаря слов, выделенных в текстовом компоненте.

Вы можете удалить слова непосредственно из файла словаря используя текстовый редактор.

Более подробную информацию о библиотеке смотрите в документации классов. Также смотрите пример использования библиотеки SpellCheckerSample.java

Скачать библиотеку. Архив включает библиотеку, документацию и пример использования библиотеки.

С вопросами, замечаниями, предложениями обращайтесь к разработчику: postmaster@am-programs.ru