Класс JEditorPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JEditorPane
- Все реализованные интерфейсы:
- ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
- Прямые известные подклассы:
- JTextPane
public class JEditorPane extends JTextComponent
Компонент для редактирования различных типов контента. Информацию и примеры использования редакторов вы найдете в разделе Использование текстовых компонентов учебника Java.
Этот компонент использует реализации EditorKit для достижения своего поведения. Он эффективно преобразуется в соответствующий вид текстового редактора для заданного типа контента. Тип контента, к которому привязан редактор в данный момент, определяется установленным EditorKit. Если контент установлен на новую URL, то тип URL используется для определения EditorKit, который должен использоваться для загрузки контента.
По умолчанию известны следующие типы контента:
- text/plain
- Простой текст, который является значением по умолчанию, если тип не распознан. Используемый набор инструментов в этом случае является расширением
DefaultEditorKit, который создает вид обернутого простого текста. - text/html
- Текст HTML. В этом случае используется класс
javax.swing.text.html.HTMLEditorKit, который предоставляет поддержку HTML 3.2. - text/rtf
- Текст RTF. В этом случае используется класс
javax.swing.text.rtf.RTFEditorKit, который предоставляет ограниченную поддержку формата Rich Text.
Существует несколько способов загрузки контента в этот компонент.
- Метод
setTextможет использоваться для инициализации компонента из строки. В этом случае будет использоваться текущийEditorKit, и ожидается, что тип контента будет этого типа. - Метод
readможет использоваться для инициализации компонента изReader. Обратите внимание, что если тип контента HTML, относительные ссылки (например, для изображений) не могут быть разрешены, если не используется тег <base> или свойство Base уHTMLDocument. В этом случае будет использоваться текущийEditorKit, и ожидается, что тип контента будет этого типа. - Метод
setPageможет использоваться для инициализации компонента из URL. В этом случае тип контента будет определен из URL, и зарегистрированныйEditorKitдля этого типа контента будет установлен.
Некоторые типы контента могут предоставлять поддержку гиперссылок, генерируя события гиперссылок. HTML EditorKit будет генерировать события гиперссылок, если JEditorPane является нередактируемым (был вызван JEditorPane.setEditable(false);). Если в документе встроены HTML-фреймы, типичный ответ будет состоять в изменении части текущего документа. Следующий фрагмент кода представляет собой возможную реализацию обработчика гиперссылок, которая обрабатывает события HTML-фреймов специальным образом и просто отображает любые другие активированные гиперссылки.
class Hyperactive implements HyperlinkListener {
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane pane = (JEditorPane) e.getSource();
if (e instanceof HTMLFrameHyperlinkEvent) {
HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent)e;
HTMLDocument doc = (HTMLDocument)pane.getDocument();
doc.processHTMLFrameHyperlinkEvent(evt);
} else {
try {
pane.setPage(e.getURL());
} catch (Throwable t) {
t.printStackTrace();
}
}
}
}
} Для получения информации о настройке рендеринга text/html см. W3C_LENGTH_UNITS и HONOR_DISPLAY_PROPERTIES
Информация, зависящая от культуры в некоторых документах, обрабатывается с помощью механизма, называемого кодировкой символов. Кодировка символов — это однозначное отображение членов набора символов (букв, идеограмм, цифр, символов или управляющих функций) на определенные числовые значения кодов. Она представляет собой способ хранения файла. Примеры кодировок символов: ISO-8859-1, ISO-8859-5, Shift-jis, Euc-jp и UTF-8. При передаче файла в пользовательский агент (JEditorPane) он преобразуется в набор символов документа (ISO-10646, известный как Unicode).
Существует несколько способов обеспечить отображение кодировки символов с JEditorPane.
- Один из способов — указать кодировку символов в качестве параметра MIME-типа. Это будет установлено вызовом метода
setContentType. Если контент загружается методомsetPage, тип контента будет установлен в соответствии с указанием URL. Если файл загружается напрямую, ожидается, что тип контента будет установлен до загрузки. - Другой способ указания кодировки символов — в самом документе. Это требует прочтения документа до определения желаемой кодировки символов. Для этого ожидается, что операция
EditorKit.read сгенерируетChangedCharSetException, которая будет перехвачена. Затем чтение перезапускается с новым ридером, который использует кодировку символов, указанную вChangedCharSetException(этоIOException).
- Новые строки
- Обсуждение обработки новых строк см. в DefaultEditorKit.
Предупреждение: Swing не потокобезопасен. Дополнительную информацию см. в Политике потоков Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с той же версией Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. См. XMLEncoder.
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
protected class |
JEditorPane.AccessibleJEditorPane Этот класс реализует поддержку доступности для класса |
protected class |
JEditorPane.AccessibleJEditorPaneHTML Этот класс предоставляет поддержку |
protected class |
JEditorPane.JEditorPaneAccessibleHypertextSupport Что возвращает |
Вложенные классы/интерфейсы, унаследованные от класса javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding Вложенные классы/интерфейсы, унаследованные от класса javax.swing.JComponent
JComponent.AccessibleJComponent Вложенные классы/интерфейсы, унаследованные от класса java.awt.Container
Container.AccessibleAWTContainer Вложенные классы/интерфейсы, унаследованные от класса java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy Поля
| Модификатор и тип | Поле и описание |
|---|---|
static String |
HONOR_DISPLAY_PROPERTIES Ключ для свойства клиента, используемого для указания того, используются ли шрифт и цвет фона по умолчанию из компонента, если шрифт или цвет фона не указаны в стилизованном тексте. |
static String |
W3C_LENGTH_UNITS Ключ для свойства клиента, используемого для указания того, используются ли единицы длины, совместимые с w3c, для рендеринга html. |
Поля, унаследованные от класса javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY Поля, унаследованные от класса javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW Поля, унаследованные от класса java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT Поля, унаследованные от интерфейса java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH Конструкторы
| Конструктор и описание |
|---|
JEditorPane() Создает новый |
JEditorPane(String url) Создает |
JEditorPane(String type,
String text) Создает |
JEditorPane(URL initialPage) Создает |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addHyperlinkListener(HyperlinkListener listener) Добавляет слушатель гиперссылок для уведомления о любых изменениях, например, при выборе и вводе ссылки. |
protected EditorKit |
createDefaultEditorKit() Создаёт набор редактирования по умолчанию ( |
static EditorKit |
createEditorKitForContentType(String type) Создаёт обработчик для заданного типа из стандартной базы редакторов. |
void |
fireHyperlinkUpdate(HyperlinkEvent e) Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлениям об этом типе события. |
AccessibleContext |
getAccessibleContext() Возвращает AccessibleContext, связанный с этим JEditorPane. |
String |
getContentType() Возвращает тип содержимого, с которым в настоящее время настроен работать этот редактор. |
EditorKit |
getEditorKit() Получает установленный набор инструментов для обработки содержимого. |
static String |
getEditorKitClassNameForContentType(String type) Возвращает имя класса, в настоящее время зарегистрированного для типа |
EditorKit |
getEditorKitForContentType(String type) Получает набор редактирования для использования с заданным типом содержимого. |
HyperlinkListener[] |
getHyperlinkListeners() Возвращает массив всех слушателей гиперссылок, добавленных в этот JEditorPane с помощью addHyperlinkListener(). |
URL |
getPage() Возвращает текущий отображаемый URL. |
Dimension |
getPreferredSize() Возвращает предпочтительный размер для |
boolean |
getScrollableTracksViewportHeight() Возвращает true, если область просмотра всегда должна принудительно устанавливать высоту этого |
boolean |
getScrollableTracksViewportWidth() Возвращает true, если область просмотра всегда должна принудительно устанавливать ширину этого |
protected InputStream |
getStream(URL page) Возвращает поток для данного URL, который вскоре будет загружен методом |
String |
getText() Возвращает текст, содержащийся в этом |
String |
getUIClassID() Возвращает идентификатор класса для пользовательского интерфейса. |
protected String |
paramString() Возвращает строковое представление этого |
void |
read(InputStream in,
Object desc) Этот метод выполняет инициализацию из потока. |
static void |
registerEditorKitForContentType(String type,
String classname) Устанавливает стандартные привязки |
static void |
registerEditorKitForContentType(String type,
String classname,
ClassLoader loader) Устанавливает стандартные привязки |
void |
removeHyperlinkListener(HyperlinkListener listener) Удаляет слушателя гиперссылок. |
void |
replaceSelection(String content) Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой. |
void |
scrollToReference(String reference) Прокручивает представление до заданного положения ссылки (то есть, значения, возвращаемого методом |
void |
setContentType(String type) Устанавливает тип содержимого, обрабатываемого этим редактором. |
void |
setEditorKit(EditorKit kit) Устанавливает установленный набор инструментов для обработки содержимого. |
void |
setEditorKitForContentType(String type,
EditorKit k) Непосредственно устанавливает набор редактирования для использования с заданным типом. |
void |
setPage(String url) Устанавливает текущий отображаемый URL. |
void |
setPage(URL page) Устанавливает текущий отображаемый URL. |
void |
setText(String t) Устанавливает текст этого |
Методы, унаследованные от класса javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write Методы, унаследованные от класса javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update Методы, унаследованные от класса java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree Методы, унаследованные от класса java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
W3C_LENGTH_UNITS
public static final String W3C_LENGTH_UNITS
Ключ для свойства клиента, используемого для указания, применяются ли соответствующие W3C единицы длины для рендеринга html.
По умолчанию это отключено; для включения установите свойство клиента property с этим именем в значение Boolean.TRUE.
- С тех пор:
- 1.5
- См. также:
- Значения константных полей
HONOR_DISPLAY_PROPERTIES
public static final String HONOR_DISPLAY_PROPERTIES
Ключ для свойства клиента, используемого для указания, применяются ли стандартный шрифт и цвет фона из компонента, если шрифт или цвет фона не указаны в форматированном тексте.
Значение по умолчанию варьируется в зависимости от внешнего вида; для включения установите свойство клиента property с этим именем в значение Boolean.TRUE.
- С тех пор:
- 1.5
- См. также:
- Значения константных полей
Конструкторы
JEditorPane
public JEditorPane()
Создаёт новый JEditorPane. Модель документа установлена в null.
JEditorPane
public JEditorPane(URL initialPage)
throws IOException Создаёт JEditorPane на основе указанного URL для ввода.
- Параметры:
-
initialPage- URL - Исключения:
-
IOException- если URLnullили недоступен
JEditorPane
public JEditorPane(String url)
throws IOException Создаёт JEditorPane на основе строки, содержащей спецификацию URL.
- Параметры:
-
url- URL - Исключения:
-
IOException- если URLnullили недоступен
JEditorPane
public JEditorPane(String type,
String text) Создаёт JEditorPane, инициализированный заданным текстом. Это удобный конструктор, вызывающий методы setContentType и setText.
- Параметры:
-
type- тип MIME заданного текста -
text- текст для инициализации; может бытьnull - Исключения:
-
NullPointerException- если параметрtypenull
Методы
addHyperlinkListener
public void addHyperlinkListener(HyperlinkListener listener)
Добавляет слушателя гиперссылок для уведомлений о любых изменениях, например, при выборе и вводе ссылки.
- Параметры:
-
listener- слушатель
removeHyperlinkListener
public void removeHyperlinkListener(HyperlinkListener listener)
Удаляет слушателя гиперссылок.
- Параметры:
-
listener- слушатель
getHyperlinkListeners
public HyperlinkListener[] getHyperlinkListeners()
Возвращает массив всех HyperLinkListener добавленных в этот JEditorPane с помощью addHyperlinkListener().
- Возвращает:
- все добавленные
HyperLinkListenerили пустой массив, если слушатели не добавлены - С тех пор:
- 1.4
fireHyperlinkUpdate
public void fireHyperlinkUpdate(HyperlinkEvent e)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Обычно это вызывается текущим установленным EditorKit если текущий тип контента поддерживает гиперссылки и была активность со ссылкой. Список слушателей обрабатывается в обратном порядке.
- Параметры:
-
e- событие - См. также:
EventListenerList
setPage
public void setPage(URL page)
throws IOException Устанавливает текущий отображаемый URL. Тип содержимого панели устанавливается, и если набор редакторов для панели не null, создаётся новый документ по умолчанию, и URL читается в него. Если URL содержит ссылку на местоположение, местоположение будет прокручено вызовом метода scrollToReference. Если требуемый URL — текущий отображаемый, документ не перезагружается. Чтобы принудительно перезагрузить документ, необходимо очистить свойство описания потока документа. Следующий код демонстрирует, как это сделать:
Document doc = jEditorPane.getDocument(); doc.putProperty(Document.StreamDescriptionProperty, null);Если требуемый URL не отображается, вызывается метод
getStream для предоставления подклассам управления предоставляемым потоком.
Это может загружаться синхронно или асинхронно в зависимости от документа, возвращённого EditorKit. Если Document типа AbstractDocument и имеет значение, возвращённое AbstractDocument.getAsynchronousLoadPriority, больше или равно нулю, страница загрузится в отдельном потоке с этим приоритетом.
Если документ загружается синхронно, он заполняется потоком перед установкой в редактор с вызовом setDocument, который привязан и вызывает событие изменения свойства. Если возникает IOException, частично загруженный документ будет отброшен, и события изменения свойства ни для документа, ни для страницы не будут вызваны. Если документ успешно загружен и установлен, для него будет создан вид UI, который при необходимости будет прокручен, а затем будет вызвано событие изменения свойства страницы.
Если документ загружается асинхронно, документ будет установлен в редактор немедленно с вызовом setDocument, который вызовет событие изменения свойства документа, а затем будет создан поток, который начнёт фактическое выполнение загрузки. В этом случае событие изменения свойства страницы не будет вызвано непосредственно этим методом, а вместо этого будет вызвано, когда поток, выполняющий загрузку, завершится. Оно также будет вызвано в потоке обработки событий.
- Параметры:
-
page- URL страницы - Исключения:
-
IOException- дляnullили некорректной спецификации страницы, или исключения из потока чтения - См. также:
getPage()
read
public void read(InputStream in,
Object desc)
throws IOException Этот метод инициализирует из потока. Если набор инструментов установлен в тип HTMLEditorKit, и параметр desc — HTMLDocument, он вызовет HTMLEditorKit для запуска чтения. В противном случае вызывается метод суперкласса, который загружает модель как обычный текст.
- Параметры:
-
in- поток для чтения -
desc- объект, описывающий поток - Исключения:
-
IOException- как вызвано потоком, используемым для инициализации - См. также:
-
JTextComponent.read(java.io.Reader, java.lang.Object),JTextComponent.setDocument(javax.swing.text.Document)
getStream
protected InputStream getStream(URL page)
throws IOException Извлекает поток для заданного URL, который собирается загрузиться методом setPage. По умолчанию это просто открывает URL и возвращает поток. Это можно переопределить, чтобы выполнять полезные действия, такие как извлечение потока из кэша, мониторинг прогресса потока и т. д.
Ожидается, что этот метод будет иметь побочный эффект установления типа содержимого и, следовательно, установки соответствующего EditorKit для загрузки потока.
Если поток был HTTP-соединением, перенаправления будут следовать, и результирующий URL будет установлен как Document.StreamDescriptionProperty, чтобы относительные URL могли быть правильно разрешены.
- Параметры:
-
page- URL страницы - Исключения:
IOException
scrollToReference
public void scrollToReference(String reference)
Прокручивает представление до заданного местоположения ссылки (то есть значения, возвращаемого методом UL.getRef для отображаемого URL). По умолчанию этот метод знает только как найти ссылку в HTMLDocument. Реализация вызывает метод scrollRectToVisible для выполнения фактической прокрутки. Если для типов документов, отличных от HTML, требуется прокрутка к местоположению ссылки, этот метод следует переопределить. Этот метод не будет иметь эффекта, если компонент не отображается.
- Параметры:
-
reference- имя местоположения для прокрутки
getPage
public URL getPage()
Получает текущий отображаемый URL. Если URL не был указан при создании документа, возвращается null, и относительные URL не будут разрешены.
- Возвращает:
- URL или
nullесли нет
setPage
public void setPage(String url)
throws IOException Устанавливает текущий отображаемый URL.
- Параметры:
-
url- URL для отображения - Исключения:
-
IOException- дляnullили некорректной спецификации URL
getUIClassID
public String getUIClassID()
Получает идентификатор класса UI.
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "EditorPaneUI"
- См. также:
-
JComponent.getUIClassID(),UIDefaults.getUI(javax.swing.JComponent)
createDefaultEditorKit
protected EditorKit createDefaultEditorKit()
Создаёт набор инструментов по умолчанию (PlainEditorKit) для момента первого создания компонента.
- Возвращает:
- набор инструментов
getEditorKit
public EditorKit getEditorKit()
Получает текущий установленный набор инструментов для обработки содержимого. createDefaultEditorKit вызывается для настройки по умолчанию, если необходимо.
- Возвращает:
- набор инструментов
getContentType
public final String getContentType()
Получает тип содержимого, с которым в настоящее время работает этот редактор. Это определено как тип, связанный с текущим установленным EditorKit.
- Возвращает:
- тип содержимого,
nullесли набор инструментов не установлен
setContentType
public final void setContentType(String type)
Устанавливает тип содержимого, обрабатываемого этим редактором. Это вызывает getEditorKitForContentType, а затем setEditorKit, если набор редакторов успешно найден. Это в основном удобный метод, который можно использовать как альтернативу прямому вызову setEditorKit.
Если в спецификации типа содержимого указано определение кодировки символов, оно будет использоваться при загрузке входных потоков с использованием соответствующего EditorKit. Например, если тип задан как text/html; charset=EUC-JP, содержимое будет загружено с использованием EditorKit, зарегистрированного для text/html, и чтец, предоставленный EditorKit, для загрузки Юникода в документ, будет использовать кодировку EUC-JP для преобразования в Юникод. Если тип не распознан, содержимое будет загружено с использованием EditorKit, зарегистрированного для простого текста, text/plain.
- Parameters:
-
type- не-nullMIME-тип для поддержки редактирования содержимого - Throws:
-
NullPointerException- если параметрtypeравенnull - See Also:
getContentType()
setEditorKit
public void setEditorKit(EditorKit kit)
Устанавливает текущий установленный набор для обработки содержимого. Это связанное свойство, которое определяет тип содержимого редактора. Любой старый набор сначала отключается, а затем, если набор не пустой, новый набор устанавливается, и для него создаётся документ по умолчанию. Событие %%%CODE_BLOCK_260%% ("editorKit") всегда генерируется при вызове setEditorKit.
ПРИМЕЧАНИЕ: Это имеет побочный эффект изменения модели, поскольку EditorKit является источником моделирования конкретного типа содержимого. Этот метод вызовет setDocument, чтобы обеспечить целостность внутреннего состояния.
- Parameters:
-
kit- желаемое поведение редактора - See Also:
getEditorKit()
getEditorKitForContentType
public EditorKit getEditorKitForContentType(String type)
Извлекает набор редакторов для использования с данным типом содержимого. Это вызывается, когда запрашивается тип, не совпадающий с текущим установленным типом. Если компонент не имеет зарегистрированного EditorKit для данного типа, он попытается создать EditorKit из реестра EditorKit по умолчанию. Если это не удастся, используется PlainEditorKit, предполагая, что все текстовые документы могут быть представлены как простой текст.
Этот метод можно переопределить, чтобы использовать какой-либо другой тип реестра. Например, его можно переопределить для использования Java Activation Framework.
- Parameters:
-
type- не-nullтип содержимого - Returns:
- набор редакторов
setEditorKitForContentType
public void setEditorKitForContentType(String type,
EditorKit k) Непосредственно устанавливает набор редакторов для использования с данным типом. Реализация внешнего вида может использовать это в сочетании с createEditorKitForContentType, чтобы установить обработчики для типов содержимого с предпочтениями внешнего вида.
- Parameters:
-
type- не-nullтип содержимого -
k- устанавливаемый набор редакторов
replaceSelection
public void replaceSelection(String content)
Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой. Если выделения нет, это эквивалентно вставке заданного текста. Если текста для замены нет (то есть строка содержимого пуста или null), это эквивалентно удалению текущего выделения. Текст замены будет иметь атрибуты, которые в настоящее время определены для ввода. Если компонент не редактируемый, издаётся звуковой сигнал и возвращается значение.
- Overrides:
-
replaceSelectionв классеJTextComponent - Parameters:
-
content- содержимое для замены выделенного. Это значение может бытьnull
createEditorKitForContentType
public static EditorKit createEditorKitForContentType(String type)
Создаёт обработчик для данного типа из реестра по умолчанию наборов редакторов. Реестр создаётся при необходимости. Если зарегистрированный класс ещё не загружен, предпринимается попытка динамической загрузки прототипа набора для данного типа. Если тип был зарегистрирован с ClassLoader, этот ClassLoader будет использован для загрузки прототипа. Если зарегистрированный ClassLoader отсутствовал, Class.forName будет использован для загрузки прототипа.
После успешной загрузки экземпляра прототипа EditorKit он клонируется, и клон возвращается.
- Parameters:
-
type- тип содержимого - Returns:
- набор редакторов или
nullесли для данного типа ничего не зарегистрировано
registerEditorKitForContentType
public static void registerEditorKitForContentType(String type,
String classname) Устанавливает стандартные связи type с classname. Класс будет динамически загружен позже, когда это действительно потребуется, и его можно безопасно изменить перед использованием, чтобы избежать загрузки нежелательных классов. Прототип EditorKit будет загружен с Class.forName при регистрации с помощью этого метода.
- Parameters:
-
type- не-nullтип содержимого -
classname- класс для последующей загрузки
registerEditorKitForContentType
public static void registerEditorKitForContentType(String type,
String classname,
ClassLoader loader) Устанавливает стандартные связи type с classname. Класс будет динамически загружен позже, когда это действительно потребуется, используя указанный ClassLoader, и его можно безопасно изменить перед использованием, чтобы избежать загрузки нежелательных классов.
- Parameters:
-
type- не-nullтип содержимого -
classname- класс для последующей загрузки -
loader-ClassLoaderдля использования при загрузке имени
getEditorKitClassNameForContentType
public static String getEditorKitClassNameForContentType(String type)
Возвращает текущее зарегистрированное имя класса EditorKit для типа type.
- Parameters:
-
type- не-nullтип содержимого - Since:
- 1.3
getPreferredSize
public Dimension getPreferredSize()
Возвращает предпочтительный размер для JEditorPane. Предпочтительный размер для JEditorPane немного отличается от предпочтительного размера базового класса. Если размер области просмотра стал меньше минимального размера компонента, определение scrollable для отслеживания ширины или высоты станет ложным. Стандартная компоновка области просмотра вернёт предпочтительный размер, а это нежелательно в случае отслеживания scrollable. В этом случае предпочтительный размер изменяется на минимальный размер. Это позволяет таким элементам, как HTML-таблицы, сжиматься до минимального размера, а затем размещаться в минимальном размере, отказываясь от дальнейшего сжатия.
- Overrides:
-
getPreferredSizeв классеJComponent - Returns:
- объект
Dimension, содержащий предпочтительный размер - See Also:
-
JComponent.setPreferredSize(java.awt.Dimension),ComponentUI
setText
public void setText(String t)
Устанавливает текст этого TextComponent в указанное содержимое, которое, как ожидается, будет в формате типа содержимого этого редактора. Например, если тип установлен на text/html, строка должна быть задана в терминах HTML.
Этот метод реализован для удаления содержимого текущего документа и замены его парсингом заданной строки с использованием текущего EditorKit. Это обеспечивает семантику базового класса, не изменяя модель, при одновременной поддержке типа содержимого, в настоящее время установленного на этом компоненте. Предполагается, что предыдущее содержимое относительно небольшое и что предыдущее содержимое не имеет побочных эффектов. Оба эти предположения могут быть нарушены и привести к нежелательным результатам. Чтобы этого избежать, создайте новый документ, getEditorKit().createDefaultDocument(), и замените существующий Document новым. Таким образом, вы гарантируете, что у предыдущего Document не будет каких-либо остаточных состояний.
- Оставление существующей модели на месте означает, что старый вид будет разрушен, и будет создан новый вид, в то время как замена документа предотвратит разрушение старого вида.
- Некоторые форматы (например, HTML) могут устанавливать элементы в документ, которые могут влиять на будущее содержимое. HTML может содержать информацию об стиле, которая неожиданно повлияет на следующее устанавливаемое содержимое.
Альтернативный способ загрузки этого компонента со строкой — создать StringReader и вызвать метод read. В этом случае модель будет заменена после её инициализации содержимым строки.
- Overrides:
-
setTextв классеJTextComponent - Parameters:
-
t- новый текст для установки; еслиnull, старый текст будет удалён - See Also:
getText()
getText
public String getText()
Возвращает текст, содержащийся в этом TextComponent, в терминах типа содержимого этого редактора. Если при попытке извлечения текста произойдёт исключение, возвращается null. Этот метод реализован для вызова JTextComponent.write с StringWriter.
- Overrides:
-
getTextв классеJTextComponent - Returns:
- текст
- See Also:
setText(java.lang.String)
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()
Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable в соответствие с шириной области просмотра.
- Specified by:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Overrides:
-
getScrollableTracksViewportWidthв классеJTextComponent - Returns:
- true, если область просмотра должна принудительно устанавливать ширину Scrollables в соответствие со своей собственной шириной, false в противном случае
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable в соответствие с высотой области просмотра.
- Specified by:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Overrides:
-
getScrollableTracksViewportHeightв классеJTextComponent - Returns:
- true, если область просмотра должна принудительно установить высоту
Scrollableв соответствие со своей собственной высотой, false в противном случае
paramString
protected String paramString()
Возвращает строковое представление этого JEditorPane. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
- Переопределяет:
-
paramStringв классеJTextComponent - Возвращает:
- строковое представление этого
JEditorPane
getAccessibleContext
public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JEditorPane. Для редакторов области, AccessibleContext принимает форму AccessibleJEditorPane. Новый экземпляр AccessibleJEditorPane создается при необходимости.
- Указано в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеJTextComponent - Возвращает:
- AccessibleJEditorPane, который служит AccessibleContext этого JEditorPane
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.