Все перечисленные классы документов имеют одинаковую базовую функциональность, и каждый расширяется в зависимости от ниши, которую необходимо заполнить.На самом деле, это просто вопрос понимания того, что вам нужно сделать, и использования соответствующего типа документа.Например, если я редактирую файл HTML, я бы использовал класс HTMLDocument.
Я включил краткое описание каждого из классов документов, которые вы запросили, в свой вопрос ниже.
Документ
Интерфейс «Документ» представляет весь документ HTML или XML.Концептуально он является корнем дерева документа и обеспечивает основной доступ к данным документа.
Это интерфейс, от которого будут наследоваться все другие типы документов.Он предоставляет контракт для всех остальных типов документов.
AbstractDocument
Этот класс реализует механизм блокировки для документа, который позволяет нескольким читателям или одному писателюи авторы должны подождать, пока все наблюдатели документа не будут уведомлены о предыдущем изменении, прежде чем начинать другую мутацию в документе.
Этот класс позволяет работать с различными типами документов и использует оченьпотерять набор правил.Этот класс сложнее реализовать, потому что он настолько универсален.
StyledDocument
Еще один интерфейс, обеспечивающий контракт для всех стилевых документов. DefaultStyledDocument реализует этот интерфейс, поэтому мы перейдем к следующему.
DefaultStyledDocument
Документ, который можно пометить какстили символов и абзацев аналогично формату Rich Text Format.Структура элемента для этого документа представляет пересечения стилей для прогонов стилей.Эти прогоны стилей отображаются в структуре элемента абзаца (которая может находиться в какой-то другой структуре).Стиль работает с границами абзаца, так как логические стили назначаются границам абзаца.
DefaultStyledDocument позволяет размещать специальные символы в документе, чтобы помочь с форматированием и т. Д. Подумайте о Microsoft Word, когда вы думаете оDefaultStyledDocument.
DocumentFilter
После изменения документа, содержащего DocumentFilter (либо путем вставки, либо удаления), он перенаправляет соответствующий вызов метода в DocumentFilter.
Это чрезвычайно полезный класс, который "прослушивает" события, происходящие с вашим документом (т.е. изменения), и выполняет действие при каждом событии.
PlainDocument
реализует AbstractDocument и не содержит каких-либо специальных форматирующих символов (Think notepad против Word).Вы должны использовать это, когда вы просто хотите сохранить текст (файл журнала и т. Д.)
HTMLDocument
Документ, который моделирует HTML.Целью этой модели является поддержка как просмотра, так и редактирования.
HTMLDocument следует использовать при создании / изменении документов, содержащих HTML-код и предназначенных для просмотра в браузере.