Класс 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
Этот компонент использует реализации 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.
Существует несколько способов загрузить содержимое в этот компонент.
- Метод
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, которое будет перехвачено. Затем чтение будет запущено повторно с новым 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 |
Создаёт JEditorPane на основе строки, содержащей спецификацию URL. |
JEditorPane |
Создаёт JEditorPane, инициализированный указанным текстом. |
JEditorPane |
Создаёт JEditorPane на основе указанного URL для ввода. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addHyperlinkListener |
Добавляет слушателя гиперссылок для уведомления об изменениях, например о выборе и переходе по ссылке. |
protected EditorKit |
createDefaultEditorKit() |
Создаёт набор редактора по умолчанию ( PlainEditorKit) при первом создании компонента. |
static EditorKit |
createEditorKitForContentType |
Создаёт обработчик указанного типа из реестра наборов редактора по умолчанию. |
void |
fireHyperlinkUpdate |
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
AccessibleContext |
getAccessibleContext() |
Получает AccessibleContext, связанный с этим JEditorPane. |
final String |
getContentType() |
Получает тип содержимого, с которым в данный момент работает этот редактор. |
EditorKit |
getEditorKit() |
Получает установленный в данный момент набор для обработки содержимого. |
static String |
getEditorKitClassNameForContentType |
Возвращает имя класса зарегистрированного в данный момент EditorKit для типа type. |
EditorKit |
getEditorKitForContentType |
Получает набор редактора для указанного типа содержимого. |
HyperlinkListener[] |
getHyperlinkListeners() |
Возвращает массив всех HyperLinkListener, добавленных в этот JEditorPane с помощью addHyperlinkListener(). |
URL |
getPage() |
Получает URL, отображаемый в данный момент. |
Dimension |
getPreferredSize() |
Возвращает предпочтительный размер для JEditorPane. |
boolean |
getScrollableTracksViewportHeight() |
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable равной высоте области просмотра. |
boolean |
getScrollableTracksViewportWidth() |
Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable равной ширине области просмотра. |
protected InputStream |
getStream |
Получает поток для указанного URL, который будет загружен методом setPage. |
String |
getText() |
Возвращает текст, содержащийся в этом TextComponent, в соответствии с типом содержимого этого редактора. |
String |
getUIClassID() |
Получает идентификатор класса пользовательского интерфейса. |
protected String |
paramString() |
Возвращает строковое представление этого JEditorPane. |
void |
read |
Этот метод выполняет инициализацию из потока. |
static void |
registerEditorKitForContentType |
Устанавливает привязки по умолчанию для type к classname. |
static void |
registerEditorKitForContentType |
Устанавливает привязки по умолчанию для type к classname. |
void |
removeHyperlinkListener |
Удаляет слушателя гиперссылок. |
void |
replaceSelection |
Заменяет текущее выделенное содержимое новым содержимым, представленным указанной строкой. |
void |
scrollToReference |
Прокручивает представление до указанного места ссылки (то есть значения, возвращаемого методом URL.getRef для отображаемого URL). |
final void |
setContentType |
Задаёт тип содержимого, с которым работает этот редактор. |
void |
setEditorKit |
Задаёт установленный в данный момент набор для обработки содержимого. |
void |
setEditorKitForContentType |
Непосредственно задаёт набор редактора для указанного типа. |
void |
setPage |
Задаёт URL, отображаемый в данный момент. |
void |
setPage |
Задаёт URL, отображаемый в данный момент. |
void |
setText |
Задаёт для этого 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
Подробное описание полей
W3C_LENGTH_UNITS
public static final String W3C_LENGTH_UNITS
По умолчанию это свойство отключено; чтобы включить его, задайте клиентское свойство 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— если 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— событие - См. также:
setPage
@BeanProperty(expert=true, description="the URL used to set content") public void setPage(URL page) throws IOException
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или указании недопустимой страницы, а также при исключении, вызванном считываемым потоком - См. также:
read
public void read(InputStream in, Object desc) throws IOException
HTMLEditorKit, а параметр desc является HTMLDocument, метод вызывает HTMLEditorKit для начала чтения. В противном случае вызывается метод суперкласса, который загружает модель как обычный текст.- Параметры:
-
in— поток для чтения -
desc— объект, описывающий поток - Исключения:
-
IOException— исключение, возникающее в используемом для инициализации потоке - См. также:
getStream
protected InputStream getStream(URL page) throws IOException
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()
null, и относительные URL-адреса не будут разрешаться.- Возвращает:
- URL-адрес или
null, если он отсутствует
setPage
public void setPage(String url) throws IOException
- Параметры:
-
url— URL-адрес для отображения - Исключения:
-
IOException— при возникновенииnullили указании недопустимой спецификации URL-адреса
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "EditorPaneUI"
- См. также:
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 - См. также:
setEditorKit
@BeanProperty(expert=true, description="the currently installed kit for handling content") public void setEditorKit(EditorKit kit)
null, устанавливается новый и для него создается документ по умолчанию. При вызове setEditorKit всегда инициируется событие PropertyChange ("editorKit"). ПРИМЕЧАНИЕ: Это приводит к изменению модели, поскольку EditorKit определяет способ моделирования содержимого конкретного типа. Для обеспечения целостности внутреннего состояния этот метод от имени вызывающего кода вызывает setDocument.
- Параметры:
-
kit— требуемое поведение редактора - См. также:
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, содержащий предпочтительный размер - См. также:
setText
@BeanProperty(bound=false, description="the text of this component") public void setText(String t)
TextComponent как указанное содержимое, которое, как предполагается, имеет формат, соответствующий типу содержимого этого редактора. Например, если тип задан как text/html, строку следует указывать в формате HTML. Реализация удаляет содержимое текущего документа и заменяет его результатом разбора заданной строки с помощью текущего EditorKit. Это обеспечивает семантику суперкласса, не заменяя модель, и поддерживает тип содержимого, заданный в данный момент для этого компонента. Предполагается, что предыдущее содержимое относительно невелико и не имеет побочных эффектов. Оба предположения могут оказаться неверными и привести к нежелательным результатам. Чтобы избежать этого, создайте новый документ с помощью getEditorKit().createDefaultDocument() и замените им существующий Document. Так вы гарантируете, что от предыдущего Document не останется никаких побочных эффектов.
- Если оставить существующую модель, старое представление будет удалено и создано новое, тогда как при замене документа старое представление можно было бы не удалять.
- Некоторые форматы (например, HTML) могут добавлять в документ данные, влияющие на последующее содержимое. В HTML может быть встроена информация о стилях, которая неожиданно повлияет на следующее добавляемое содержимое.
Другой способ загрузить в этот компонент строку — создать StringReader и вызвать метод read. В этом случае модель будет заменена после инициализации содержимым строки.
- Переопределяет:
-
setTextв классеJTextComponent - Параметры:
-
t— новый текст; если значение равноnull, старый текст будет удален - См. также:
getText
public String getText()
TextComponent, в формате типа содержимого этого редактора. Если при попытке получить текст возникает исключение, будет возвращено null. Реализация вызывает JTextComponent.write с помощью StringWriter.- Переопределяет:
-
getTextв классеJTextComponent - Возвращает:
- текст
- См. также:
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Scrollable равной своей ширине.- Определено в:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Переопределяет:
-
getScrollableTracksViewportWidthв классеJTextComponent - Возвращает:
- true, если область просмотра должна принудительно установить ширину прокручиваемого компонента равной собственной ширине; в противном случае false
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Scrollable равной своей высоте.- Определено в:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Переопределяет:
-
getScrollableTracksViewportHeightв классеJTextComponent - Возвращает:
- true, если область просмотра должна принудительно установить высоту
Scrollableравной собственной высоте; в противном случае false
paramString
protected String paramString()
JEditorPane. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.- Переопределяет:
-
paramStringв классеJTextComponent - Возвращает:
- строковое представление этого
JEditorPane
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеJTextComponent - Возвращает:
- объект AccessibleJEditorPane, выполняющий роль AccessibleContext этого JEditorPane
© 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