Spec-Zone.ru › OpenJDK 25

Класс 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
@JavaBean(defaultProperty="UIClassID", description="A text component to edit various types of content.") public class JEditorPane extends JTextComponent
Текстовый компонент для редактирования различных видов содержимого. Инструкции и примеры использования панелей редактора см. в разделе Использование текстовых компонентов учебного пособия The Java Tutorial.

Этот компонент использует реализации EditorKit для выполнения своих функций. Фактически он преобразуется в подходящий текстовый редактор для переданного ему типа содержимого. Тип содержимого, с которым в данный момент работает редактор, определяется текущим установленным EditorKit. Если содержимое задаётся новым 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 Format.

Существует несколько способов загрузить содержимое в этот компонент.

  1. Метод setText можно использовать для инициализации компонента строкой. В этом случае будет использоваться текущий EditorKit, а содержимое должно иметь соответствующий тип.
  2. Метод read можно использовать для инициализации компонента из Reader. Обратите внимание: если тип содержимого — HTML, относительные ссылки (например, на изображения) не могут быть разрешены, если не используется тег <base> или не задано свойство Base для HTMLDocument. В этом случае будет использоваться текущий EditorKit, а содержимое должно иметь соответствующий тип.
  3. Метод 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 существует несколько способов.

  1. Один из способов — указать набор символов в качестве параметра типа MIME. Он задаётся вызовом метода setContentType. Если содержимое загружается методом setPage, тип содержимого устанавливается в соответствии со спецификацией URL. Если файл загружается напрямую, предполагается, что тип содержимого был задан до загрузки.
  2. Другой способ указать набор символов — задать его непосредственно в документе. Для этого необходимо прочитать документ, прежде чем определять требуемый набор символов. Предполагается, что операция чтения EditorKit.read выбросит ChangedCharSetException, которое будет перехвачено. Затем чтение будет запущено повторно с новым Reader, использующим набор символов, указанный в ChangedCharSetException (который является IOException).
Переводы строк
Обсуждение обработки переводов строк см. в документации по DefaultEditorKit.

Предупреждение: Swing не является потокобезопасным. Дополнительные сведения см. в разделе Политика работы Swing с потоками.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.

Начиная с версии:
1.2

Краткое описание вложенных классов

Модификатор и тип Класс Описание
protected class  JEditorPane.AccessibleJEditorPane
Этот класс реализует поддержку специальных возможностей для класса JEditorPane.
protected class  JEditorPane.AccessibleJEditorPaneHTML
Этот класс обеспечивает поддержку AccessibleHypertext и используется в случаях, когда установленный в этом JEditorPane EditorKit является экземпляром HTMLEditorKit.
protected class  JEditorPane.JEditorPaneAccessibleHypertextSupport
То, что возвращает AccessibleJEditorPaneHTML.getAccessibleText.

Вложенные классы и интерфейсы, объявленные в классе JTextComponent

JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding

Вложенные классы и интерфейсы, объявленные в классе JComponent

JComponent.AccessibleJComponent

Вложенные классы и интерфейсы, объявленные в классе Container

Container.AccessibleAWTContainer

Вложенные классы и интерфейсы, объявленные в классе Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Краткое описание полей

Модификатор и тип Поле Описание
static final String HONOR_DISPLAY_PROPERTIES
Ключ клиентского свойства, указывающего, следует ли использовать шрифт и цвет переднего плана компонента по умолчанию, если в форматированном тексте они не заданы.
static final String W3C_LENGTH_UNITS
Ключ клиентского свойства, указывающего, используются ли для отображения HTML единицы длины, соответствующие стандарту W3C.

Поля, объявленные в классе JTextComponent

DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY

Поля, объявленные в классе JComponent

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

Поля, объявленные в классе Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, объявленные в интерфейсе ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Краткое описание конструкторов

Конструктор Описание
JEditorPane()
Создаёт новый JEditorPane.
JEditorPane(String url)
Создаёт JEditorPane на основе строки, содержащей спецификацию URL.
JEditorPane(String type, String text)
Создаёт JEditorPane, инициализированный указанным текстом.
JEditorPane(URL initialPage)
Создаёт JEditorPane на основе указанного URL для ввода.

Краткое описание методов

Модификатор и тип Метод Описание
void addHyperlinkListener(HyperlinkListener listener)
Добавляет слушателя гиперссылок для уведомления об изменениях, например о выборе и переходе по ссылке.
protected EditorKit createDefaultEditorKit()
Создаёт набор редактора по умолчанию (PlainEditorKit) при первом создании компонента.
static EditorKit createEditorKitForContentType(String type)
Создаёт обработчик указанного типа из реестра наборов редактора по умолчанию.
void fireHyperlinkUpdate(HyperlinkEvent e)
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа.
AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JEditorPane.
final String getContentType()
Получает тип содержимого, с которым в данный момент работает этот редактор.
EditorKit getEditorKit()
Получает установленный в данный момент набор для обработки содержимого.
static String getEditorKitClassNameForContentType(String type)
Возвращает имя класса зарегистрированного в данный момент EditorKit для типа type.
EditorKit getEditorKitForContentType(String type)
Получает набор редактора для указанного типа содержимого.
HyperlinkListener[] getHyperlinkListeners()
Возвращает массив всех HyperLinkListener, добавленных в этот JEditorPane с помощью addHyperlinkListener().
URL getPage()
Получает URL, отображаемый в данный момент.
Dimension getPreferredSize()
Возвращает предпочтительный размер для JEditorPane.
boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable равной высоте области просмотра.
boolean getScrollableTracksViewportWidth()
Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable равной ширине области просмотра.
protected InputStream getStream(URL page)
Получает поток для указанного URL, который будет загружен методом setPage.
String getText()
Возвращает текст, содержащийся в этом TextComponent, в соответствии с типом содержимого этого редактора.
String getUIClassID()
Получает идентификатор класса пользовательского интерфейса.
protected String paramString()
Возвращает строковое представление этого JEditorPane.
void read(InputStream in, Object desc)
Этот метод выполняет инициализацию из потока.
static void registerEditorKitForContentType(String type, String classname)
Устанавливает привязки по умолчанию для type к classname.
static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)
Устанавливает привязки по умолчанию для type к classname.
void removeHyperlinkListener(HyperlinkListener listener)
Удаляет слушателя гиперссылок.
void replaceSelection(String content)
Заменяет текущее выделенное содержимое новым содержимым, представленным указанной строкой.
void scrollToReference(String reference)
Прокручивает представление до указанного места ссылки (то есть значения, возвращаемого методом URL.getRef для отображаемого URL).
final 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)
Задаёт для этого TextComponent текст указанного содержимого, которое должно соответствовать формату типа содержимого этого редактора.

Методы, объявленные в классе JTextComponent

addCaretListener, 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, modelToView2D, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, write

Методы, объявленные в классе JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, removeNotify, 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

Методы, объявленные в классе 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

Методы, объявленные в классе Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, 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, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

W3C_LENGTH_UNITS

public static final String W3C_LENGTH_UNITS
Ключ клиентского свойства, используемого для указания, применяются ли при отображении HTML единицы длины, соответствующие стандарту W3C.

По умолчанию это свойство отключено; чтобы включить его, задайте клиентское свойство property с этим именем в значение Boolean.TRUE.

С версии:
1.5
Внешние спецификации
  • Спецификация каскадных таблиц стилей, уровень 2, редакция 2 (CSS 2.2)
См. также:
  • Значения константных полей

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 — если URL-адрес null или недоступен

JEditorPane

public JEditorPane(String url) throws IOException
Создает JEditorPane на основе строки, содержащей спецификацию URL-адреса.
Параметры:
url — URL-адрес
Исключения:
IOException — если URL-адрес null или недоступен

JEditorPane

public JEditorPane(String type, String text)
Создает JEditorPane, инициализированный заданным текстом. Это удобный конструктор, вызывающий методы setContentType и setText.
Параметры:
type — MIME-тип заданного текста
text — текст для инициализации; может быть null
Исключения:
NullPointerException — если параметр type имеет значение null

Подробное описание методов

addHyperlinkListener

public void addHyperlinkListener(HyperlinkListener listener)
Добавляет прослушиватель гиперссылок для получения уведомлений об изменениях, например, когда ссылка выбрана и активирована.
Параметры:
listener — прослушиватель

removeHyperlinkListener

public void removeHyperlinkListener(HyperlinkListener listener)
Удаляет прослушиватель гиперссылок.
Параметры:
listener — прослушиватель

getHyperlinkListeners

@BeanProperty(bound=false) public HyperlinkListener[] getHyperlinkListeners()
Возвращает массив всех прослушивателей HyperLinkListener, добавленных в этот JEditorPane с помощью addHyperlinkListener().
Возвращает:
всех добавленных прослушивателей HyperLinkListener или пустой массив, если прослушиватели не добавлялись
С версии:
1.4

fireHyperlinkUpdate

public void fireHyperlinkUpdate(HyperlinkEvent e)
Уведомляет всех прослушивателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. Обычно этот метод вызывается текущим установленным EditorKit, если активен тип содержимого, поддерживающий гиперссылки, и произошло действие со ссылкой. Список прослушивателей обрабатывается в обратном порядке.
Параметры:
e — событие
См. также:
  • EventListenerList

setPage

@BeanProperty(expert=true, description="the URL used to set content") 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, частично загруженный документ отбрасывается, а события изменения свойств документа и страницы не инициируются. Если документ успешно загружен и установлен, пользовательский интерфейс создаст для него представление, которое при необходимости будет прокручено, после чего будет инициировано событие изменения свойства страницы.

При асинхронной загрузке документ будет немедленно установлен в редактор вызовом setDocument, который инициирует событие изменения свойства документа, а затем будет создан поток, выполняющий фактическую загрузку. В этом случае вызов данного метода непосредственно не инициирует событие изменения свойства страницы: оно будет инициировано после завершения загрузки в потоке. Событие также будет инициировано в потоке обработки событий. Поскольку вызывающий поток не может выбросить IOException в случае сбоя в другом потоке, событие изменения свойства страницы будет инициировано по завершении работы другого потока независимо от успешности загрузки.

Параметры:
page — URL-адрес страницы
Исключения:
IOException — при возникновении null или указании недопустимой страницы, а также при исключении, вызванном считываемым потоком
См. также:
  • getPage()

read

public void read(InputStream in, Object desc) throws IOException
Этот метод выполняет инициализацию из потока. Если для комплекта задан тип HTMLEditorKit, а параметр desc является HTMLDocument, метод вызывает HTMLEditorKit для начала чтения. В противном случае вызывается метод суперкласса, который загружает модель как обычный текст.
Параметры:
in — поток для чтения
desc — объект, описывающий поток
Исключения:
IOException — исключение, возникающее в используемом для инициализации потоке
См. также:
  • JTextComponent.read(Reader, Object)
  • JTextComponent.setDocument(Document)

getStream

protected InputStream getStream(URL page) throws IOException
Получает поток для заданного URL-адреса, который будет загружен методом setPage. По умолчанию этот метод просто открывает URL-адрес и возвращает поток. Его можно переопределить для реализации полезных функций, например получения потока из кэша, отслеживания хода загрузки потока и т. п.

Предполагается, что этот метод устанавливает тип содержимого и, следовательно, задает соответствующий EditorKit для загрузки потока.

Если поток представляет собой HTTP-соединение, будут обработаны перенаправления, а результирующий URL-адрес будет задан как Document.StreamDescriptionProperty, чтобы относительные URL-адреса разрешались правильно.

Параметры:
page — URL-адрес страницы
Возвращает:
поток для URL-адреса, который будет загружен
Исключения:
IOException — если возникла ошибка ввода-вывода

scrollToReference

public void scrollToReference(String reference)
Прокручивает представление к заданному расположению ссылки (то есть к значению, возвращаемому методом URL.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

@BeanProperty(bound=false) public String getUIClassID()
Возвращает идентификатор класса пользовательского интерфейса.
Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "EditorPaneUI"
См. также:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(JComponent)

createDefaultEditorKit

protected EditorKit createDefaultEditorKit()
Создает комплект редактора по умолчанию (PlainEditorKit) при первом создании компонента.
Возвращает:
комплект редактора

getEditorKit

public EditorKit getEditorKit()
Получает установленный в данный момент комплект для обработки содержимого. При необходимости вызывается createDefaultEditorKit для настройки комплекта по умолчанию.
Возвращает:
комплект редактора

getContentType

public final String getContentType()
Возвращает тип содержимого, с которым в данный момент работает этот редактор. Он определяется как тип, связанный с установленным в данный момент EditorKit.
Возвращает:
тип содержимого или null, если комплект редактора не задан

setContentType

@BeanProperty(bound=false, description="the type of content") public final void setContentType(String type)
Задает тип содержимого, обрабатываемого этим редактором. Метод вызывает getEditorKitForContentType, а затем setEditorKit, если удается найти комплект редактора. Это главным образом удобный метод, который можно использовать вместо непосредственного вызова setEditorKit.

Если в спецификации типа содержимого в качестве параметра задана кодировка, она будет использоваться при загрузке входных потоков с помощью соответствующего EditorKit. Например, если тип указан как text/html; charset=EUC-JP, содержимое будет загружено с помощью EditorKit, зарегистрированного для text/html, а Reader, переданный в EditorKit для загрузки символов Unicode в документ, будет использовать кодировку EUC-JP для преобразования в Unicode. Если тип не распознан, содержимое будет загружено с помощью EditorKit, зарегистрированного для обычного текста, text/plain.

Параметры:
type — MIME-тип содержимого, отличный от null, для поддержки редактирования
Исключения:
NullPointerException — если параметр type имеет значение null
См. также:
  • getContentType()

setEditorKit

@BeanProperty(expert=true, description="the currently installed kit for handling content") public void setEditorKit(EditorKit kit)
Задает установленный в данный момент комплект для обработки содержимого. Это связанное свойство, определяющее тип содержимого редактора. Сначала удаляется старый комплект, затем, если комплект не равен null, устанавливается новый и для него создается документ по умолчанию. При вызове setEditorKit всегда инициируется событие PropertyChange ("editorKit").

ПРИМЕЧАНИЕ: Это приводит к изменению модели, поскольку EditorKit определяет способ моделирования содержимого конкретного типа. Для обеспечения целостности внутреннего состояния этот метод от имени вызывающего кода вызывает setDocument.

Параметры:
kit — требуемое поведение редактора
См. также:
  • getEditorKit()

getEditorKitForContentType

public EditorKit getEditorKitForContentType(String type)
Получает комплект редактора для заданного типа содержимого. Этот метод вызывается при запросе типа, отличного от установленного в данный момент. Если для заданного типа в компоненте не зарегистрирован EditorKit, метод попытается создать EditorKit из реестра EditorKit по умолчанию. Если это не удастся, будет использован PlainEditorKit, исходя из предположения, что все текстовые документы можно представить в виде обычного текста.

Этот метод можно переопределить, чтобы использовать другой тип реестра. Например, его можно переопределить для использования Java Activation Framework.

Параметры:
type — тип содержимого, отличный от null
Возвращает:
комплект редактора

setEditorKitForContentType

public void setEditorKitForContentType(String type, EditorKit k)
Непосредственно задает комплект редактора для указанного типа. Реализация оформления может использовать этот метод вместе с createEditorKitForContentType для установки обработчиков типов содержимого с учетом особенностей оформления.
Параметры:
type — тип содержимого, отличный от null
k — задаваемый комплект редактора

replaceSelection

public void replaceSelection(String content)
Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой. Если выделения нет, заданный текст вставляется. Если текст для замены отсутствует (то есть строка содержимого пуста или равна null), текущее выделение удаляется. Текст для замены будет иметь атрибуты, заданные в данный момент для ввода. Если компонент нельзя редактировать, подается звуковой сигнал, после чего метод завершается.
Переопределяет:
replaceSelection в классе JTextComponent
Параметры:
content — содержимое для замены выделения. Это значение может быть null

createEditorKitForContentType

public static EditorKit createEditorKitForContentType(String type)
Создает обработчик для заданного типа из реестра комплектов редактора по умолчанию. При необходимости реестр создается. Если зарегистрированный класс еще не загружен, выполняется попытка динамически загрузить прототип комплекта для заданного типа. Если тип зарегистрирован с помощью ClassLoader, для загрузки прототипа будет использоваться этот ClassLoader. Если ClassLoader не зарегистрирован, для загрузки прототипа будет использоваться Class.forName.

После успешного обнаружения экземпляра прототипа EditorKit он клонируется, и возвращается клон.

Параметры:
type — тип содержимого
Возвращает:
комплект редактора или null, если для заданного типа ничего не зарегистрировано

registerEditorKitForContentType

public static void registerEditorKitForContentType(String type, String classname)
Устанавливает привязки по умолчанию type к classname. Класс будет динамически загружен позднее, когда это потребуется; его можно безопасно изменить до попытки использования, чтобы избежать загрузки нежелательных классов. При регистрации этим методом прототип EditorKit будет загружен с помощью Class.forName.
Параметры:
type — тип содержимого, отличный от null
classname — класс для последующей загрузки

registerEditorKitForContentType

public static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)
Устанавливает привязки по умолчанию type к classname. Класс будет динамически загружен позднее, когда это потребуется, с помощью заданного ClassLoader; его можно безопасно изменить до попытки использования, чтобы избежать загрузки нежелательных классов.
Параметры:
type — тип содержимого, отличный от null
classname — класс для последующей загрузки
loader — ClassLoader для загрузки имени

getEditorKitClassNameForContentType

public static String getEditorKitClassNameForContentType(String type)
Возвращает имя зарегистрированного в данный момент класса EditorKit для типа type.
Параметры:
type — тип содержимого, отличный от null
Возвращает:
объект String, содержащий имя класса EditorKit для type
С версии:
1.3

getPreferredSize

public Dimension getPreferredSize()
Возвращает предпочтительный размер для JEditorPane. Предпочтительный размер JEditorPane несколько отличается от предпочтительного размера суперкласса. Если размер области просмотра стал меньше минимального размера компонента, определение прокручиваемого компонента для отслеживания ширины или высоты становится равным false. Стандартное размещение в области просмотра задает предпочтительный размер, но при отслеживании прокручиваемым компонентом этого делать не следует. В этом случае обычный предпочтительный размер корректируется до минимального размера. Это позволяет, например, таблицам HTML уменьшаться до минимального размера и размещаться с этим размером, не сжимаясь дальше.
Переопределяет:
getPreferredSize в классе JComponent
Возвращает:
объект Dimension, содержащий предпочтительный размер
См. также:
  • JComponent.setPreferredSize(Dimension)
  • ComponentUI

setText

@BeanProperty(bound=false, description="the text of this component") public void setText(String t)
Задает текст этого TextComponent как указанное содержимое, которое, как предполагается, имеет формат, соответствующий типу содержимого этого редактора. Например, если тип задан как text/html, строку следует указывать в формате HTML.

Реализация удаляет содержимое текущего документа и заменяет его результатом разбора заданной строки с помощью текущего EditorKit. Это обеспечивает семантику суперкласса, не заменяя модель, и поддерживает тип содержимого, заданный в данный момент для этого компонента. Предполагается, что предыдущее содержимое относительно невелико и не имеет побочных эффектов. Оба предположения могут оказаться неверными и привести к нежелательным результатам. Чтобы избежать этого, создайте новый документ с помощью getEditorKit().createDefaultDocument() и замените им существующий Document. Так вы гарантируете, что от предыдущего Document не останется никаких побочных эффектов.

  1. Если оставить существующую модель, старое представление будет удалено и создано новое, тогда как при замене документа старое представление можно было бы не удалять.
  2. Некоторые форматы (например, HTML) могут добавлять в документ данные, влияющие на последующее содержимое. В HTML может быть встроена информация о стилях, которая неожиданно повлияет на следующее добавляемое содержимое.

Другой способ загрузить в этот компонент строку — создать StringReader и вызвать метод read. В этом случае модель будет заменена после инициализации содержимым строки.

Переопределяет:
setText в классе JTextComponent
Параметры:
t — новый текст; если значение равно null, старый текст будет удален
См. также:
  • getText()

getText

public String getText()
Возвращает текст, содержащийся в этом TextComponent, в формате типа содержимого этого редактора. Если при попытке получить текст возникает исключение, будет возвращено null. Реализация вызывает JTextComponent.write с помощью StringWriter.
Переопределяет:
getText в классе JTextComponent
Возвращает:
текст
См. также:
  • setText(String)

getScrollableTracksViewportWidth

@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable равной своей ширине.
Определено в:
getScrollableTracksViewportWidth в интерфейсе Scrollable
Переопределяет:
getScrollableTracksViewportWidth в классе JTextComponent
Возвращает:
true, если область просмотра должна принудительно установить ширину прокручиваемого компонента равной собственной ширине; в противном случае false

getScrollableTracksViewportHeight

@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable равной своей высоте.
Определено в:
getScrollableTracksViewportHeight в интерфейсе Scrollable
Переопределяет:
getScrollableTracksViewportHeight в классе JTextComponent
Возвращает:
true, если область просмотра должна принудительно установить высоту Scrollable равной собственной высоте; в противном случае false

paramString

protected String paramString()
Возвращает строковое представление этого JEditorPane. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
Переопределяет:
paramString в классе JTextComponent
Возвращает:
строковое представление этого JEditorPane

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает объект AccessibleContext, связанный с этим JEditorPane. Для панелей редактора объект AccessibleContext имеет тип AccessibleJEditorPane. При необходимости создается новый экземпляр AccessibleJEditorPane.
Определено в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе JTextComponent
Возвращает:
объект AccessibleJEditorPane, выполняющий роль AccessibleContext этого JEditorPane

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/JEditorPane.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API