Я пытаюсь понять назначение Element и то, как он может помочь в управлении StyledDocument, который должен отображаться в JEditorPane или JTextPane. Я также пытаюсь понять, как это связано с концепцией «абзаца».
Javadoc для javax.swing.text.Element почти ничего:
public interface Element
Interface to describe a structural piece of a document. It is intended to capture the spirit of an SGML element.
Я хорошо знаком с концепцией элемента в HTML и XML, и, видимо, это что-то похожее, но я просто не вижу его назначения в отношении StyledDocument. Сначала я решил, что StyledDocument использует это внутри для управления точками остановки и начала разных стилей, но потом я увидел примеры кода в Интернете, где они использовали экземпляры Element.
У меня уже есть собственная древовидная структура данных, которые мне нужно отображать в разных шрифтах и цветах, и, просматривая ее, я подскажу, где изменить шрифт или цвет по мере необходимости. Похоже, я смогу удовлетворить насущную потребность серией вызовов StyledDocument.setCharacterAttributes и setParagraphAttributes, не касаясь элемента самостоятельно.
Но у меня сложилось впечатление, что использование Element будет эффективнее или чище. Пожалуйста, помогите мне получить правильное представление об элементе и о том, как он помогает с StyledDocument и концепцией параграфа, поэтому, даже если я не использую какие-либо элементы прямо сейчас, я, по крайней мере, буду ценить то, что мне не хватает, и знать, если и как использовать его для следующей подобной ситуации.