Spec-Zone .ru
спецификации, руководства, описания, API
|
public class HTMLDocument extends DefaultStyledDocument
HTMLDocument.HTMLReader
, который реализует HTMLEditorKit.ParserCallback
протокол, который ожидает синтаксический анализатор. Чтобы изменить структуру, можно разделить на подклассы HTMLReader
, и повторно реализуйте метод getReader(int)
возвратить новую реализацию читателя. Документация для HTMLReader
должен консультироваться для деталей создаваемой структуры значения по умолчанию. Намерение состоит в том, что документ нес потерями (хотя репродуцирование формата HTML может привести к различному формату). Модели документа только HTML, и не предпринимают попытки сохранить атрибуты представления в этом. Элементы идентифицируются StyleContext.NameAttribute
атрибут, у которого должно всегда быть значение типа HTML.Tag
это идентифицирует вид элемента. Синтезируются некоторые из элементов (таких как комментарии). HTMLFactory
использование этот атрибут, чтобы определить, какой представление, чтобы создать.
Этот документ поддерживает инкрементную загрузку. TokenThreshold
свойство управляет, сколько из синтаксического анализа буферизуется прежде, чем попытаться обновить структуру элемента документа. Это свойство устанавливается EditorKit
так, чтобы подклассы могли отключить это.
Base
свойство определяет URL, против которого разрешаются относительные URL. По умолчанию это будет Document.StreamDescriptionProperty
если значением свойства является URL. Если с <ОСНОВНЫМ> тегом встретятся, то основа станет URL, определенным тем тегом. Поскольку базовый URL является свойством, он может, конечно, быть установлен непосредственно.
Механизм хранения контента значения по умолчанию для этого документа является буфером разрыва (GapContent
). Альтернативы могут быть предоставлены при использовании конструктора, который берет a Content
реализация.
В дополнение к методам, обеспеченным Документом и StyledDocument для того, чтобы видоизменить HTMLDocument, HTMLDocument обеспечивает много методов удобства. Следующие методы могут использоваться, чтобы вставить контент HTML в существующий документ.
setInnerHTML(Element, String)
setOuterHTML(Element, String)
insertBeforeStart(Element, String)
insertAfterStart(Element, String)
insertBeforeEnd(Element, String)
insertAfterEnd(Element, String)
Следующие примеры иллюстрируют использование этих методов. Каждый пример предполагает, что документ HTML инициализируется следующим образом:
JEditorPane p = new JEditorPane(); p.setContentType("text/html"); p.setText("..."); // Document text is provided below. HTMLDocument d = (HTMLDocument) p.getDocument();
Со следующим контентом HTML:
<html> <head> <title>An example HTMLDocument</title> <style type="text/css"> div { background-color: silver; } ul { color: red; } </style> </head> <body> <div id="BOX"> <p>Paragraph 1</p> <p>Paragraph 2</p> </div> </body> </html>
Все методы для того, чтобы изменить документ HTML требуют Element
. Элементы могут быть получены из документа HTML при использовании метода getElement(Element e, Object attribute, Object value)
. Это возвращает первый порожденный элемент, который содержит указанный атрибут с данным значением в порядке в глубину. Например, d.getElement(d.getDefaultRootElement(), StyleConstants.NameAttribute, HTML.Tag.P)
возвращает первый элемент абзаца.
Удобный ярлык для того, чтобы определить местоположение элементов является методом getElement(String)
; возвращает элемент чей ID
припишите соответствует указанное значение. Например, d.getElement("BOX")
возвраты DIV
элемент.
getIterator(HTML.Tag t)
метод может также использоваться для того, чтобы найти все возникновения указанного HTML-тэга в документе.
Элементы могут быть вставлены прежде или после существующих дочерних элементов любого нелистового элемента при использовании методов insertAfterStart
и insertBeforeEnd
. Например, если e
DIV
элемент, d.insertAfterStart(e, "<ul><li>List Item</li></ul>")
вставляет список перед первым абзацем, и d.insertBeforeEnd(e, "<ul><li>List Item</li></ul>")
вставляет список после последнего абзаца. DIV
блок становится родителем недавно вставленных элементов.
Одноуровневые элементы могут быть вставлены прежде или после любого элемента при использовании методов insertBeforeStart
и insertAfterEnd
. Например, если e
DIV
элемент, d.insertBeforeStart(e, "<ul><li>List Item</li></ul>")
вставляет список перед DIV
элемент, и d.insertAfterEnd(e, "<ul><li>List Item</li></ul>")
вставляет список после DIV
элемент. Недавно вставленные элементы становятся одноуровневыми элементами DIV
элемент.
Элементы и все их потомки могут быть заменены при использовании методов setInnerHTML
и setOuterHTML
. Например, если e
DIV
элемент, d.setInnerHTML(e, "<ul><li>List Item</li></ul>")
замены все дочерние абзацы со списком, и d.setOuterHTML(e, "<ul><li>List Item</li></ul>")
замены DIV
элемент непосредственно. В последнем случае родитель списка BODY
элемент.
Следующая таблица показывает документ в качестве примера и результаты различных методов, описанных выше.
Пример | insertAfterStart |
insertBeforeEnd |
insertBeforeStart |
insertAfterEnd |
setInnerHTML |
setOuterHTML |
---|---|---|---|---|---|---|
Абзац 1 Абзац 2 |
Абзац 1 Абзац 2 |
Абзац 1 Абзац 2
|
Абзац 1 Абзац 2 |
Абзац 1 Абзац 2
|
|
|
Предупреждение: Сериализированные объекты этого class не будут совместимыми с будущими выпусками Swing. Текущая поддержка сериализации является подходящей для краткосрочного хранения или RMI между приложениями, выполняющими ту же самую версию Swing. С 1.4, поддержка длительного хранения всего JavaBeansTM была добавлена к java.beans
пакет. Пожалуйста, см. XMLEncoder
.
Модификатор и Тип | Класс и Описание |
---|---|
class |
HTMLDocument. BlockElement
Элемент, который представляет структурный блок HTML.
|
class |
HTMLDocument. HTMLReader
Читатель HTML, чтобы загрузить документ HTML структурой элемента HTML.
|
static class |
HTMLDocument. Iterator
iterator, чтобы выполнить итерации по определенному типу тега.
|
class |
HTMLDocument. RunElement
Элемент, который представляет блок текста, у которого есть ряд атрибутов уровня символа HTML, присвоенных этому.
|
DefaultStyledDocument.AttributeUndoableEdit, DefaultStyledDocument.ElementBuffer, DefaultStyledDocument.ElementSpec, DefaultStyledDocument.SectionElement
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement
Модификатор и Тип | Поле и Описание |
---|---|
static String |
AdditionalComments
Значение ключа свойства документа.
|
buffer, BUFFER_SIZE_DEFAULT
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
StreamDescriptionProperty, TitleProperty
Конструктор и Описание |
---|
HTMLDocument()
Создает документ HTML, используя размер буфера значения по умолчанию и значение по умолчанию
StyleSheet . |
HTMLDocument(AbstractDocument.Content c, StyleSheet styles)
Создает документ HTML с данной реализацией хранения контента и данным механизмом хранения стиля/атрибута.
|
HTMLDocument(StyleSheet styles)
Создает документ HTML с реализацией хранения контента значения по умолчанию и указанным механизмом хранения стиля/атрибута.
|
Модификатор и Тип | Метод и Описание |
---|---|
protected void |
create(DefaultStyledDocument.ElementSpec[] data)
Заменяет содержание документа с данными спецификациями элемента.
|
protected Element |
createBranchElement(Element parent, AttributeSet a)
Создает элемент ответвления документа, который может содержать другие элементы.
|
protected AbstractDocument.AbstractElement |
createDefaultRoot()
Создает корневой элемент, который будет использоваться, чтобы представить структуру документа значения по умолчанию.
|
protected Element |
createLeafElement(Element parent, AttributeSet a, int p0, int p1)
Создает листовой элемент документа, который непосредственно представляет текст (не имеет никаких дочерних элементов).
|
protected void |
fireChangedUpdate(DocumentEvent e)
Уведомляет всех слушателей, которые зарегистрировали интерес для уведомления на этом типе события.
|
protected void |
fireUndoableEditUpdate(UndoableEditEvent e)
Уведомляет всех слушателей, которые зарегистрировали интерес для уведомления на этом типе события.
|
URL |
getBase()
Возвращает расположение, чтобы разрешить относительные URL против.
|
Элемент |
getElement(Element e, Object attribute, Object value)
Возвращает дочерний элемент
e это содержит атрибут, attribute со значением value , или null если Вы не находитесь. |
Элемент |
getElement(String id)
Возвращает элемент, у которого есть данный идентификатор
Attribute . |
HTMLDocument. Iterator |
getIterator(HTML.Tag t)
Выбирает iterator для указанного HTML-тэга.
|
HTMLEditorKit. Синтаксический анализатор |
getParser()
Возвращает синтаксический анализатор, который используется, вставляя HTML в существующий документ.
|
boolean |
getPreservesUnknownTags()
Возвращает поведение, которое синтаксический анализатор наблюдает, встречаясь с неизвестными тегами.
|
HTMLEditorKit. ParserCallback |
getReader(int pos)
Выбирает читателя для синтаксического анализатора, чтобы использовать, загружая документ HTML.
|
HTMLEditorKit. ParserCallback |
getReader(int pos, int popDepth, int pushDepth, HTML.Tag insertTag)
Возвращает читателя для синтаксического анализатора, чтобы использовать, чтобы загрузить документ HTML.
|
StyleSheet |
getStyleSheet()
Выборки
StyleSheet со специфичными для документа правилами дисплея (CSS), который был определен в документе HTML непосредственно. |
int |
getTokenThreshold()
Заставляет число маркеров буферизовать прежде, чем попытаться обновить структуру элемента документов.
|
protected void |
insert(int offset, DefaultStyledDocument.ElementSpec[] data)
Вставляет новые элементы оптом.
|
void |
insertAfterEnd(Element elem, String htmlText)
Вставляет HTML, определенный как строка после конец данного элемента.
|
void |
insertAfterStart(Element elem, String htmlText)
Вставляет HTML, определенный как строка в начале элемента.
|
void |
insertBeforeEnd(Element elem, String htmlText)
Вставляет HTML, определенный как строка в конце элемента.
|
void |
insertBeforeStart(Element elem, String htmlText)
Вставляет HTML, определенный как строка перед запуском данного элемента.
|
protected void |
insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
Структура документа обновлений в результате вставки текста.
|
void |
processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent e)
Процессы
HyperlinkEvents это сгенерировано документами во фрейме HTML. |
void |
setBase(URL u)
Устанавливает расположение, чтобы разрешить относительные URL против.
|
void |
setInnerHTML(Element elem, String htmlText)
Заменяет дочерние элементы данного элемента с содержанием, определенным как строка HTML.
|
void |
setOuterHTML(Element elem, String htmlText)
Заменяет данный элемент в родителе с содержанием, определенным как строка HTML.
|
void |
setParagraphAttributes(int offset, int length, AttributeSet s, boolean replace)
Наборы приписывают для абзаца.
|
void |
setParser(HTMLEditorKit.Parser parser)
Устанавливает синтаксический анализатор, который используется методами, которые вставляют html в существующий документ, такой как
setInnerHTML , и setOuterHTML . |
void |
setPreservesUnknownTags(boolean preservesTags)
Определяет, как неизвестные теги обрабатываются синтаксическим анализатором.
|
void |
setTokenThreshold(int n)
Определяет номер маркеров, чтобы буферизовать прежде, чем попытаться обновить структуру элемента документов.
|
addDocumentListener, addStyle, getBackground, getCharacterElement, getDefaultRootElement, getFont, getForeground, getLogicalStyle, getParagraphElement, getStyle, getStyleNames, removeDocumentListener, removeElement, removeStyle, removeUpdate, setCharacterAttributes, setLogicalStyle, styleChanged
addUndoableEditListener, createPosition, dump, fireInsertUpdate, fireRemoveUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, insertString, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addUndoableEditListener, createPosition, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, insertString, putProperty, remove, removeUndoableEditListener, render
public static final String AdditionalComments
public HTMLDocument()
StyleSheet
. Это - метод удобства для конструктора HTMLDocument(Content, StyleSheet)
.public HTMLDocument(StyleSheet styles)
HTMLDocument(Content, StyleSheet)
.styles
- стилиpublic HTMLDocument(AbstractDocument.Content c, StyleSheet styles)
c
- контейнер для контентаstyles
- стилиpublic HTMLEditorKit.ParserCallback getReader(int pos)
HTMLDocument.HTMLReader
. Подклассы могут повторно реализовать этот метод, чтобы измениться, как документ структурируется при желании. (Например, чтобы обработать пользовательские теги, или структурно представить символ разрабатывают элементы.)pos
- стартовая позицияpublic HTMLEditorKit.ParserCallback getReader(int pos, int popDepth, int pushDepth, HTML.Tag insertTag)
HTMLDocument.HTMLReader
. Подклассы могут повторно реализовать этот метод, чтобы измениться, как документ структурируется при желании. (Например, чтобы обработать пользовательские теги, или структурно представить символ разрабатывают элементы.) Это - метод удобства для getReader(int, int, int, HTML.Tag, TRUE)
.
popDepth
- число ElementSpec.EndTagTypes
генерировать перед вставкойpushDepth
- число ElementSpec.StartTagTypes
с направлением ElementSpec.JoinNextDirection
это должно быть сгенерировано перед вставкой, но после того, как были сгенерированы конечные тэгиinsertTag
- первый тег, который начнет вставлять в документpublic URL getBase()
public void setBase(URL u)
Это также устанавливает основу StyleSheet
быть u
так же как основа документа.
u
- требуемый базовый URLprotected void insert(int offset, DefaultStyledDocument.ElementSpec[] data) throws BadLocationException
insert
в class DefaultStyledDocument
offset
- запуск смещаетсяdata
- данные элементаBadLocationException
- если данная позиция не представляет допустимое расположение в ассоциированном документе.protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
insertUpdate
в class DefaultStyledDocument
chng
- описание изменения документаattr
- атрибутыprotected void create(DefaultStyledDocument.ElementSpec[] data)
create
в class DefaultStyledDocument
data
- новое содержание документаpublic void setParagraphAttributes(int offset, int length, AttributeSet s, boolean replace)
Этот метод ориентирован на многопотоковое исполнение, хотя большинство методов Swing не. Пожалуйста, см.
setParagraphAttributes
в интерфейсе StyledDocument
setParagraphAttributes
в class DefaultStyledDocument
offset
- смещение в абзац (должны быть по крайней мере 0),length
- число символов, на которые влияют (должны быть по крайней мере 0),s
- атрибутыreplace
- заменить ли существующие атрибуты, или объединить ихpublic StyleSheet getStyleSheet()
StyleSheet
со специфичными для документа правилами дисплея (CSS), который был определен в документе HTML непосредственно.StyleSheet
public HTMLDocument.Iterator getIterator(HTML.Tag t)
t
- требуемый HTML.Tag
Iterator
для данного HTML-тэгаHTML.Tag
protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1)
HTMLDocument.RunElement
.createLeafElement
в class AbstractDocument
parent
- родительский элементa
- атрибуты для элементаp0
- начало диапазона (должны быть по крайней мере 0),p1
- конец диапазона (должен быть, по крайней мере, p0),protected Element createBranchElement(Element parent, AttributeSet a)
HTMLDocument.BlockElement
.createBranchElement
в class AbstractDocument
parent
- родительский элементa
- атрибутыprotected AbstractDocument.AbstractElement createDefaultRoot()
createDefaultRoot
в class DefaultStyledDocument
public void setTokenThreshold(int n)
n
- число маркеров, чтобы буферизоватьpublic int getTokenThreshold()
Integer.MAX_VALUE
.public void setPreservesUnknownTags(boolean preservesTags)
preservesTags
- истина, если неизвестные теги должны быть сохранены в модели, иначе тегирует, отбрасываютсяHTML.Tag
public boolean getPreservesUnknownTags()
HTML.Tag
public void processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent e)
HyperlinkEvents
это сгенерировано документами во фрейме HTML. HyperlinkEvent
введите, как параметр предполагает, HTMLFrameHyperlinkEvent
. В дополнение к типичной информации, содержавшейся в a HyperlinkEvent
, это событие содержит элемент, который соответствует фрейму, в котором щелчок произошел (исходный элемент) и целевое имя. У целевого имени есть 4 возможных значения: HTML.Attribute.SRC
атрибут и огни a ChangedUpdate
событие. Если цель является _parent, то это удаляет родительский элемент, который является элементом <FRAMESET>, и вставляет новое <ФРЕЙМ> элемент, и устанавливает HTML.Attribute.SRC
атрибут, чтобы иметь значение, равное месту назначения URL и запустить a RemovedUpdate
и InsertUpdate
.
Если цель является _top, этот метод ничего не делает. В реализации представления для фрейма, а именно, FrameView
, обработка _top обрабатывается., Учитывая, что _top подразумевает замену всего документа, имело смысл обрабатывать это за пределами документа, который это заменит.
Если цель является именованным фреймом, то иерархия элемента ищется элемент с именем, равным цели, HTML.Attribute.SRC
атрибут обновляется и a ChangedUpdate
событие запускается.
e
- событиеpublic void setParser(HTMLEditorKit.Parser parser)
setInnerHTML
, и setOuterHTML
.
HTMLEditorKit.createDefaultDocument
установит синтаксический анализатор для Вас. Если Вы создаете HTMLDocument
вручную, убедитесь и установите синтаксический анализатор соответственно.
parser
- синтаксический анализатор, который будет использоваться для вставки текстаpublic HTMLEditorKit.Parser getParser()
public void setInnerHTML(Element elem, String htmlText) throws BadLocationException, IOException
Это будет замечено, поскольку по крайней мере два события, n вставляет сопровождаемый удалением.
Рассмотрите следующую структуру ( elem
параметр полужирным).
<body> | <div> / \ <p> <p>
Вызов setInnerHTML(elem, "<ul><li>")
результаты в следующей структуре (новые элементы находятся в красном).
<body> | <div> \ <ul> \ <li>
Параметр elem
не должен быть листовой элемент, иначе IllegalArgumentException
бросается. Если также elem
или htmlText
параметр null
, никакие изменения не производятся в документе.
Для этого, чтобы работать correcty, документ должен иметь HTMLEditorKit.Parser
набор. Это будет иметь место, создавался ли документ из HTMLEditorKit через createDefaultDocument
метод.
elem
- элемент ответвления, дочерние элементы которого будут замененыhtmlText
- строка, которая будет проанализирована и присвоена elem
IllegalArgumentException
- если elem
листIllegalStateException
- если HTMLEditorKit.Parser
не был определенBadLocationException
IOException
public void setOuterHTML(Element elem, String htmlText) throws BadLocationException, IOException
Это будет замечено, поскольку по крайней мере два события, n вставляет сопровождаемый удалением.
Заменяя лист это попытается удостовериться, что есть подарок новой строки, если Вы необходимы. Это может привести к дополнительному вставляемому элементу. Рассмотрите, если Вы должны были заменить символьный элемент, который содержал новую строку с <img>, это создаст два элемента, один для изображения, ane один для новой строки.
Если Вы попытаетесь заменить элемент подробно, то Вы наиболее вероятно закончите с двумя элементами, eg setOuterHTML(getCharacterElement (getLength()), "blah")
приведет к двум листовым элементам в конце, одно представление 'вздор', и другое представление элемента конца.
Рассмотрите следующую структуру ( elem
параметр полужирным).
<body> | <div> / \ <p> <p>
Вызов setOuterHTML(elem, "<ul><li>")
результаты в следующей структуре (новые элементы находятся в красном).
<body> | <ul> \ <li>
Если также elem
или htmlText
параметр null
, никакие изменения не производятся в документе.
Для этого, чтобы работать correcty, у документа должен быть HTMLEditorKit. Синтаксический анализатор устанавливается. Это будет иметь место, создавался ли документ из HTMLEditorKit через createDefaultDocument
метод.
elem
- элемент, чтобы заменитьhtmlText
- строка, которая будет проанализирована и вставлена вместо elem
IllegalStateException
- если HTMLEditorKit. Синтаксический анализатор не был установленBadLocationException
IOException
public void insertAfterStart(Element elem, String htmlText) throws BadLocationException, IOException
Рассмотрите следующую структуру ( elem
параметр полужирным).
<body> | <div> / \ <p> <p>
Вызов insertAfterStart(elem, "<ul><li>")
результаты в следующей структуре (новые элементы находятся в красном).
<body> | <div> / | \ <ul> <p> <p> / <li>
В отличие от этого insertBeforeStart
метод, новые элементы становятся дочерними элементами указанного элемента, не одноуровневыми элементами.
Параметр elem
не должен быть листовой элемент, иначе IllegalArgumentException
бросается. Если также elem
или htmlText
параметр null
, никакие изменения не производятся в документе.
Для этого, чтобы работать correcty, документ должен иметь HTMLEditorKit.Parser
набор. Это будет иметь место, создавался ли документ из HTMLEditorKit через createDefaultDocument
метод.
elem
- элемент ответвления, чтобы быть корнем для нового текстаhtmlText
- строка, которая будет проанализирована и присвоена elem
IllegalArgumentException
- если elem
листIllegalStateException
- если HTMLEditorKit. Синтаксический анализатор не был установлен на документеBadLocationException
IOException
public void insertBeforeEnd(Element elem, String htmlText) throws BadLocationException, IOException
Если elem
's дочерние элементы листы, и символ в a elem.getEndOffset() - 1
новая строка, это вставит перед новой строкой так, чтобы не было текста после новой строки.
Рассмотрите следующую структуру ( elem
параметр полужирным).
<body> | <div> / \ <p> <p>
Вызов insertBeforeEnd(elem, "<ul><li>")
результаты в следующей структуре (новые элементы находятся в красном).
<body> | <div> / | \ <p> <p> <ul> \ <li>
В отличие от этого insertAfterEnd
метод, новые элементы становятся дочерними элементами указанного элемента, не одноуровневыми элементами.
Параметр elem
не должен быть листовой элемент, иначе IllegalArgumentException
бросается. Если также elem
или htmlText
параметр null
, никакие изменения не производятся в документе.
Для этого, чтобы работать correcty, документ должен иметь HTMLEditorKit.Parser
набор. Это будет иметь место, создавался ли документ из HTMLEditorKit через createDefaultDocument
метод.
elem
- элемент, чтобы быть корнем для нового текстаhtmlText
- строка, которая будет проанализирована и присвоена elem
IllegalArgumentException
- если elem
листIllegalStateException
- если HTMLEditorKit. Синтаксический анализатор не был установлен на документеBadLocationException
IOException
public void insertBeforeStart(Element elem, String htmlText) throws BadLocationException, IOException
Рассмотрите следующую структуру ( elem
параметр полужирным).
<body> | <div> / \ <p> <p>
Вызов insertBeforeStart(elem, "<ul><li>")
результаты в следующей структуре (новые элементы находятся в красном).
<body> / \ <ul> <div> / / \ <li> <p> <p>
В отличие от этого insertAfterStart
метод, новые элементы становятся одноуровневыми элементами указанного элемента, не дочерними элементами.
Если также elem
или htmlText
параметр null
, никакие изменения не производятся в документе.
Для этого, чтобы работать correcty, документ должен иметь HTMLEditorKit.Parser
набор. Это будет иметь место, создавался ли документ из HTMLEditorKit через createDefaultDocument
метод.
elem
- элемент контент вставляется преждеhtmlText
- строка, которая будет проанализирована и вставлена прежде elem
IllegalStateException
- если HTMLEditorKit. Синтаксический анализатор не был установлен на документеBadLocationException
IOException
public void insertAfterEnd(Element elem, String htmlText) throws BadLocationException, IOException
Рассмотрите следующую структуру ( elem
параметр полужирным).
<body> | <div> / \ <p> <p>
Вызов insertAfterEnd(elem, "<ul><li>")
результаты в следующей структуре (новые элементы находятся в красном).
<body> / \ <div> <ul> / \ \ <p> <p> <li>
В отличие от этого insertBeforeEnd
метод, новые элементы становятся одноуровневыми элементами указанного элемента, не дочерними элементами.
Если также elem
или htmlText
параметр null
, никакие изменения не производятся в документе.
Для этого, чтобы работать correcty, документ должен иметь HTMLEditorKit.Parser
набор. Это будет иметь место, создавался ли документ из HTMLEditorKit через createDefaultDocument
метод.
elem
- элемент контент вставляется послеhtmlText
- строка, которая будет проанализирована и вставлена после elem
IllegalStateException
- если HTMLEditorKit. Синтаксический анализатор не был установлен на документеBadLocationException
IOException
public Element getElement(String id)
Attribute
. Если элемент не может быть найден, null
возвращается. Отметьте, что этот метод продолжает работать Attribute
, не символьный тег. В следующем отрывке HTML: <a id="HelloThere">
атрибут является 'идентификатором', и символьный тег. Это - метод удобства для getElement(RootElement, HTML.Attribute.id, id)
. Это не ориентировано на многопотоковое исполнение.id
- строка, представляющая требуемый Attribute
Attribute
или null
если это не может быть найдено, или null
если id
null
HTML.Attribute
public Element getElement(Element e, Object attribute, Object value)
e
это содержит атрибут, attribute
со значением value
, или null
если Вы не находитесь. Это не ориентировано на многопотоковое исполнение.e
- корневой элемент, где поиск начинаетсяattribute
- требуемый Attribute
value
- значения для указанного Attribute
Attribute
и указанное value
, или null
если это не может быть найденоHTML.Attribute
protected void fireChangedUpdate(DocumentEvent e)
fireChangedUpdate
в class AbstractDocument
e
- событиеEventListenerList
protected void fireUndoableEditUpdate(UndoableEditEvent e)
fireUndoableEditUpdate
в class AbstractDocument
e
- событиеEventListenerList
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
ЧЕРНОВАЯ земля-b92