Класс 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 Компонент для редактирования различных видов содержимого. Информацию о том, как использовать компоненты JEditorPane, и примеры можно найти в Раздел «Использование текстовых компонентов» в учебнике Java.
Этот компонент использует реализации 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 | Этот класс реализует поддержку доступности для класса |
protected class | JEditorPane.AccessibleJEditorPaneHTML | Этот класс предоставляет поддержку |
protected class | JEditorPane.JEditorPaneAccessibleHypertextSupport | То, что возвращается |
Вложенные классы/интерфейсы, объявленные в классе javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent
JComponent.AccessibleJComponent Вложенные классы/интерфейсы, объявленные в классе java.awt.Container
Container.AccessibleAWTContainer Вложенные классы/интерфейсы, объявленные в классе java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static String | HONOR_DISPLAY_PROPERTIES | Ключ для свойства клиента, используемого для указания, используются ли шрифт и цвет фона по умолчанию из компонента, если шрифт или цвет фона не указаны в форматированном тексте. |
static String | W3C_LENGTH_UNITS | Ключ для свойства клиента, используемого для указания, используются ли совместимые с w3c единицы длины для рендеринга HTML. |
Поля, объявленные в классе javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY Поля, объявленные в классе javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW Поля, объявленные в классе java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT Поля, объявленные в интерфейсе java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH Конструкторы
| Конструктор | Описание |
|---|---|
JEditorPane() | Создаёт новый |
JEditorPane(String url) | Создаёт |
JEditorPane(String type,
String text) | Создаёт |
JEditorPane(URL initialPage) | Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | addHyperlinkListener(HyperlinkListener listener) | Добавляет обработчик гиперссылок для уведомления о любых изменениях, например, при выборе и вводе ссылки. |
protected EditorKit | createDefaultEditorKit() | Создаёт стандартный набор инструментов редактирования ( |
static EditorKit | createEditorKitForContentType(String type) | Создаёт обработчик для данного типа из стандартной базы данных наборов инструментов редактирования. |
void | fireHyperlinkUpdate(HyperlinkEvent e) | Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. |
AccessibleContext | getAccessibleContext() | Получает AccessibleContext, связанный с этим JEditorPane. |
String | getContentType() | Получает тип содержимого, с которым в данный момент настроен работать этот редактор. |
EditorKit | getEditorKit() | Получает в данный момент установленный набор инструментов для обработки содержимого. |
static String | getEditorKitClassNameForContentType(String type) | Возвращает текущее зарегистрированное |
EditorKit | getEditorKitForContentType(String type) | Получает набор инструментов редактора для использования с заданным типом содержимого. |
HyperlinkListener[] | getHyperlinkListeners() | Возвращает массив всех |
URL | getPage() | Получает текущий отображаемый URL. |
Dimension | getPreferredSize() | Возвращает предпочтительный размер для |
boolean | getScrollableTracksViewportHeight() | Возвращает true, если область просмотра всегда должна принудительно устанавливать высоту этого |
boolean | getScrollableTracksViewportWidth() | Возвращает true, если область просмотра всегда должна принудительно устанавливать ширину этого |
protected InputStream | getStream(URL page) | Получает поток для заданного URL, который вскоре будет загружен методом |
String | getText() | Возвращает текст, содержащийся в этом |
String | getUIClassID() | Получает идентификатор класса для пользовательского интерфейса. |
protected String | paramString() | Возвращает строковое представление этого |
void | read(InputStream in,
Object desc) | Этот метод инициализируется из потока. |
static void | registerEditorKitForContentType(String type,
String classname) | Устанавливает стандартные привязки |
static void | registerEditorKitForContentType(String type,
String classname,
ClassLoader loader) | Устанавливает стандартные привязки |
void | removeHyperlinkListener(HyperlinkListener listener) | Удаляет обработчик гиперссылок. |
void | replaceSelection(String content) | Заменяет текущее выделенное содержимое новым содержимым, представленным данной строкой. |
void | scrollToReference(String reference) | Прокручивает представление до заданного местоположения ссылки (то есть значения, возвращаемого методом |
void | setContentType(String type) | Устанавливает тип содержимого, обрабатываемый этим редактором. |
void | setEditorKit(EditorKit kit) | Устанавливает в данный момент установленный набор инструментов для обработки содержимого. |
void | setEditorKitForContentType(String type,
EditorKit k) | Непосредственно устанавливает набор инструментов редактора для использования с заданным типом. |
void | setPage(String url) | Устанавливает текущий отображаемый URL. |
void | setPage(URL page) | Устанавливает текущий отображаемый URL. |
void | setText(String t) | Устанавливает текст этого |
Методы, объявленные в классе javax.swing.text.JTextComponent
addCaretListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, 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, 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, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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 Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
W3C_LENGTH_UNITS
public static final String W3C_LENGTH_UNITS
Ключ для свойства клиента, используемого для указания, применяются ли w3c-совместимые единицы измерения длины для рендеринга html.
По умолчанию это отключено; чтобы включить, установите свойство клиента property с этим именем в Boolean.TRUE.
- Since:
- 1.5
- См. также:
- Значения константных полей
HONOR_DISPLAY_PROPERTIES
public static final String HONOR_DISPLAY_PROPERTIES
Ключ для свойства клиента, используемого для указания, используются ли по умолчанию шрифт и цвет фона компонента, если шрифт или цвет фона не указаны в форматированном тексте.
Значение по умолчанию зависит от темы оформления; чтобы включить, установите свойство клиента property с этим именем в Boolean.TRUE.
- Since:
- 1.5
- См. также:
- Значения константных полей
Конструкторы
JEditorPane
public JEditorPane()
Создаёт новый JEditorPane. Модель документа установлена в null.
JEditorPane
public JEditorPane(URL initialPage)
throws IOException Создаёт JEditorPane на основе указанного URL для ввода.
- Параметры:
-
initialPage- URL - Исключения:
-
IOException- если URLnullили недоступен
JEditorPane
public JEditorPane(String url)
throws IOException Создаёт JEditorPane на основе строки, содержащей спецификацию URL.
- Параметры:
-
url- URL - Исключения:
-
IOException- если URLnullили недоступен
JEditorPane
public JEditorPane(String type,
String text) Создаёт JEditorPane, инициализированный заданным текстом. Это удобный конструктор, вызывающий методы setContentType и setText.
- Параметры:
-
type- тип MIME заданного текста -
text- текст для инициализации; может бытьnull - Исключения:
-
NullPointerException- если параметрtypenull
Методы
addHyperlinkListener
public void addHyperlinkListener(HyperlinkListener listener)
Добавляет слушателя гиперссылок для уведомления о любых изменениях, например, при выборе и вводе ссылки.
- Параметры:
-
listener- слушатель
removeHyperlinkListener
public void removeHyperlinkListener(HyperlinkListener listener)
Удаляет слушателя гиперссылок.
- Параметры:
-
listener- слушатель
getHyperlinkListeners
@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, частично загруженный документ будет отброшен, и ни событие изменения свойства документа, ни свойства страницы не будут сгенерированы. Если документ успешно загружен и установлен, для него будет создан вид UI, который затем будет прокручен при необходимости, а затем сгенерируется событие изменения свойства страницы.
Если документ загружается асинхронно, документ будет установлен в редактор немедленно с вызовом 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(java.io.Reader, java.lang.Object),JTextComponent.setDocument(javax.swing.text.Document)
getStream
protected InputStream getStream(URL page)
throws IOException Получает поток для заданного URL, который собирается загружаться методом setPage. По умолчанию это просто открывает URL и возвращает поток. Это можно переопределить, чтобы выполнять полезные действия, такие как получение потока из кэша, отслеживание прогресса потока и т.д.
От этого метода ожидается побочный эффект установления типа содержимого и, следовательно, установки соответствующего EditorKit для загрузки потока.
Если поток был http-соединением, перенаправления будут выполнены, а результирующий URL будет установлен как Document.StreamDescriptionProperty, чтобы относительные URL могли быть правильно разрешены.
- Параметры:
-
page- URL страницы - Возвращает:
- поток для 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()
Получает идентификатор класса UI.
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "EditorPaneUI"
- См. также:
-
JComponent.getUIClassID(),UIDefaults.getUI(javax.swing.JComponent)
createDefaultEditorKit
protected EditorKit createDefaultEditorKit()
Создает стандартный набор инструментов редактора (PlainEditorKit) при первом создании компонента.
- Возвращает:
- набор инструментов редактора
getEditorKit
public EditorKit getEditorKit()
Получает текущий установленный набор инструментов для обработки содержимого. createDefaultEditorKit вызывается для настройки по умолчанию при необходимости.
- Возвращает:
- набор инструментов редактора
getContentType
public final String getContentType()
Получает тип содержимого, с которым в настоящее время настроен работать этот редактор. Это определено как тип, связанный с текущим установленным EditorKit.
- Возвращает:
- тип содержимого,
nullесли набор инструментов редактора не установлен
setContentType
@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 и используемого для загрузки Unicode в документ EditorKit с кодировкой EUC-JP для перевода в Unicode. Если тип не распознается, содержимое загрузится с использованием EditorKit зарегистрированного для простого текста, text/plain.
- Параметры:
-
type- тип MIME содержимого для поддержки редактирования содержимого - Исключения:
-
NullPointerException- если параметрtypeимеет значениеnull - См. также:
getContentType()
setEditorKit
@BeanProperty(expert=true,
description="the currently installed kit for handling content")
public void setEditorKit(EditorKit kit) Устанавливает текущий установленный набор инструментов для обработки содержимого. Это связанное свойство, определяющее тип содержимого редактора. Сначала удаляется старый набор инструментов, затем, если набор инструментов не null, новый набор инструментов устанавливается, и для него создается документ по умолчанию. Событие PropertyChange ("editorKit") всегда генерируется при вызове setEditorKit.
ПРИМЕЧАНИЕ: Это влечет за собой изменение модели, так как 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 немного отличается от предпочтительного размера суперкласса. Если размер области просмотра стал меньше минимального размера компонента, определение прокрутки для отслеживания ширины или высоты станет ложным. Стандартная компоновка области просмотра вернёт предпочтительный размер, а это нежелательно в случае, когда прокрутка отслеживает размер. В этом случае нормальный предпочтительный размер корректируется до минимального размера. Это позволяет таким элементам, как HTML-таблицы, уменьшаться до минимального размера, а затем выстраиваться в минимальном размере, отказываясь от дальнейшего уменьшения.
- Переопределяет:
-
getPreferredSizeв классеJComponent - Возвращает:
- объект
Dimension, содержащий предпочтительный размер - См. также:
-
JComponent.setPreferredSize(java.awt.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 не будет иметь каких-либо остаточных состояний.
- Оставление существующей модели означает, что старое представление будет разрушено, а новое создано, где замена документа предотвратит разрушение старого представления.
- Некоторые форматы (например, HTML) могут устанавливать в документ элементы, которые могут влиять на будущее содержимое. HTML может содержать встроенную информацию о стиле, которая неожиданно повлияет на следующее устанавливаемое содержимое.
Альтернативный способ загрузки этого компонента со строкой — создать StringReader и вызвать метод read. В этом случае модель будет заменена после инициализации содержимым строки.
- Переопределяет:
-
setTextв классеJTextComponent - Параметры:
-
t- новый текст для установки; еслиnull, старый текст будет удалён - См. также:
getText()
getText
public String getText()
Возвращает текст, содержащийся в этом TextComponent с точки зрения типа содержимого этого редактора. Если при попытке извлечения текста возникает исключение, возвращается null. Это реализовано для вызова JTextComponent.write с StringWriter.
- Переопределяет:
-
getTextв классеJTextComponent - Возвращает:
- текст
- См. также:
setText(java.lang.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. Для JEditorPane AccessibleContext принимает форму AccessibleJEditorPane. Новый экземпляр AccessibleJEditorPane создаётся при необходимости.
- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеJTextComponent - Возвращает:
- AccessibleJEditorPane, служащий AccessibleContext этого JEditorPane
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/JEditorPane.html