Класс 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.
Есть несколько способов загрузить содержимое в этот компонент.
- Метод
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.
- С:
- 1.2
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
JEditorPane.AccessibleJEditorPane |
Этот класс реализует поддержку доступности для класса JEditorPane. |
protected class |
JEditorPane.AccessibleJEditorPaneHTML |
Этот класс обеспечивает поддержку AccessibleHypertext и используется в тех случаях, когда установленный в этом JEditorPane EditorKit является экземпляром HTMLEditorKit. |
protected class |
JEditorPane.JEditorPaneAccessibleHypertextSupport |
То, что возвращает AccessibleJEditorPaneHTML.getAccessibleText. |
Вложенные классы/интерфейсы, объявленные в классе 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 final String |
HONOR_DISPLAY_PROPERTIES |
Ключ для свойства клиента, указывающего, используются ли шрифт и цвет фона по умолчанию для компонента, если шрифт или цвет фона не указаны в стилизованном тексте. |
static final 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. |
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 на указанный контент, который, как ожидается, имеет формат типа контента этого редактора. |
Методы, объявленные в классе javax.swing.text.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
Методы, объявленные в классе javax.swing.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
Методы, объявленные в классе 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, 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 недоступен или не может быть получен
JEditorPane
public JEditorPane(String url) throws IOException
JEditorPane на основе строки, содержащей URL-спецификацию.- Параметры:
-
url- URL - Исключения:
-
IOException- если URL недоступен или не может быть получен
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 отличается от текущего отображаемого 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, если URL не задан
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, и чтец, предоставленный для 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)
PropertyChange ("editorKit") всегда генерируется при вызове setEditorKit. ПРИМЕЧАНИЕ: Это имеет побочный эффект изменения модели, поскольку EditorKit является источником моделирования конкретного типа содержимого. Этот метод вызовет setDocument от имени вызывающего, чтобы обеспечить целостность внутреннего состояния.
- Параметры:
-
kit- желаемое поведение редактора - См. также:
getEditorKitForContentType
public EditorKit getEditorKitForContentType(String type)
EditorKit для данного типа, он попытается создать EditorKit из реестра EditorKit по умолчанию. Если это не удастся, используется PlainEditorKit, предполагая, что все текстовые документы могут быть представлены как обычный текст. Этот метод может быть переопределен для использования другого типа реестра.
- Параметры:
-
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.- Parameters:
-
type- тип содержимого, который неnull - Returns:
- a
String, содержащий имя классаEditorKitдляtype - Since:
- 1.3
getPreferredSize
public Dimension getPreferredSize()
JEditorPane. Предпочтительный размер для JEditorPane немного отличается от предпочтительного размера суперкласса. Если размер области просмотра стал меньше минимального размера компонента, определение прокрутки для отслеживания ширины или высоты станет ложным. Стандартная компоновка области просмотра вернёт предпочтительный размер, но это нежелательно в случае, когда прокрутка отслеживается. В этом случае обычный предпочтительный размер корректируется до минимального размера. Это позволяет таким элементам, как HTML-таблицы, уменьшаться до минимального размера и затем выстраиваться в минимальном размере, отказываясь от дальнейшего уменьшения.- Overrides:
-
getPreferredSizeв классеJComponent - Returns:
- a
Dimension, содержащий предпочтительный размер - See Also:
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. В этом случае модель будет заменена после ее инициализации содержимым строки.
- Overrides:
-
setTextв классеJTextComponent - Parameters:
-
t- новый текст для установки; еслиnull, старый текст будет удалён - See Also:
getText
public String getText()
TextComponent, в терминах типа содержимого этого редактора. Если при попытке извлечь текст возникает исключение, возвращается null. Это реализовано для вызова JTextComponent.write с StringWriter.- Overrides:
-
getTextв классеJTextComponent - Returns:
- текст
- See Also:
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Scrollable в соответствии с шириной области просмотра.- Specified by:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Overrides:
-
getScrollableTracksViewportWidthв классеJTextComponent - Returns:
- true, если область просмотра должна принудительно установить ширину Scrollables в соответствии с ее собственной шириной, иначе false
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Scrollable в соответствии с высотой области просмотра.- Specified by:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Overrides:
-
getScrollableTracksViewportHeightв классеJTextComponent - Returns:
- true, если область просмотра должна принудительно установить высоту
Scrollableв соответствии с ее собственной высотой, иначе false
paramString
protected String paramString()
JEditorPane. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться между реализациями. Возвращаемая строка может быть пустой, но не null.- Overrides:
-
paramStringв классеJTextComponent - Returns:
- строковое представление этого
JEditorPane
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
- Specified by:
-
getAccessibleContextв интерфейсеAccessible - Overrides:
-
getAccessibleContextв классеJTextComponent - Returns:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/JEditorPane.html