Класс 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, и используется в тех случаях, когда установленный в этом EditorKit JEditorPane является экземпляром 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- если 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- событие - См. также:
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
- Parameters:
-
url- URL для отображения - Throws:
-
IOException- дляnullили неверного URL
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Overrides:
-
getUIClassIDв классеJComponent - Returns:
- строка "EditorPaneUI"
- See Also:
createDefaultEditorKit
protected EditorKit createDefaultEditorKit()
PlainEditorKit) при первом создании компонента.- Returns:
- набор инструментов редактирования
getEditorKit
public EditorKit getEditorKit()
createDefaultEditorKit вызывается для настройки значения по умолчанию, если необходимо.- Returns:
- набор инструментов редактирования
getContentType
public final String getContentType()
EditorKit. - Returns:
- тип содержимого,
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.
- Parameters:
-
type- тип MIME содержимого для поддержки редактирования - Throws:
-
NullPointerException- если параметрtypeимеетnullзначение - See Also:
setEditorKit
@BeanProperty(expert=true, description="the currently installed kit for handling content") public void setEditorKit(EditorKit kit)
null, новый набор инструментов устанавливается, и для него создаётся документ по умолчанию. Событие PropertyChange ("editorKit") всегда генерируется при вызове setEditorKit. ПРИМЕЧАНИЕ: Это имеет побочный эффект изменения модели, так как EditorKit является источником моделирования конкретного типа содержимого. Этот метод вызовет setDocument от имени вызывающего, чтобы обеспечить целостность внутреннего состояния.
- Parameters:
-
kit- желаемое поведение редактора - See Also:
getEditorKitForContentType
public EditorKit getEditorKitForContentType(String type)
EditorKit , зарегистрированного для данного типа, он попытается создать EditorKit из реестра стандартных EditorKit. Если это не удастся, используется PlainEditorKit, предполагая, что все текстовые документы могут быть представлены в виде простого текста. Этот метод может быть переопределен для использования другого типа реестра. Например, он может быть переопределен для использования Java Activation Framework.
- Parameters:
-
type- тип содержимого - Returns:
- набор инструментов редактора
setEditorKitForContentType
public void setEditorKitForContentType(String type, EditorKit k)
createEditorKitForContentType для установки обработчиков типов содержимого с предпочтениями внешнего вида.- Parameters:
-
type- тип содержимого -
k- набор инструментов редактора
replaceSelection
public void replaceSelection(String content)
null) это эквивалентно удалению текущего выделения. Текст замены будет иметь атрибуты, в данный момент определённые для ввода. Если компонент не редактируется, издаётся звуковой сигнал, и метод возвращает значение.- Overrides:
-
replaceSelectionв классеJTextComponent - Parameters:
-
content- содержимое, которым заменяется выделение. Это значение может бытьnull
createEditorKitForContentType
public static EditorKit createEditorKitForContentType(String type)
ClassLoader, этот ClassLoader будет использован для загрузки прототипа. Если зарегистрирован ClassLoader не был, будет использован Class.forName. После успешной загрузки экземпляра прототипа EditorKit, он клонируется и клон возвращается.
- Parameters:
-
type- тип содержимого - Returns:
- набор инструментов редактора или
nullесли ничего не зарегистрировано для данного типа
registerEditorKitForContentType
public static void registerEditorKitForContentType(String type, String classname)
type с classname. Класс будет загружен динамически позднее, когда это будет необходимо, и его можно безопасно изменить до использования, чтобы избежать загрузки нежелательных классов. Прототип EditorKit будет загружен с помощью Class.forName при регистрации с помощью этого метода.- Parameters:
-
type- тип содержимого -
classname- класс для загрузки позднее
registerEditorKitForContentType
public static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)
type с classname. Класс будет загружен динамически позднее, когда это будет необходимо, используя заданный ClassLoader, и его можно безопасно изменить до использования, чтобы избежать загрузки нежелательных классов.- Parameters:
-
type- тип содержимого -
classname- класс для загрузки позднее -
loader-ClassLoaderдля загрузки имени
getEditorKitClassNameForContentType
public static String getEditorKitClassNameForContentType(String type)
EditorKit для типа type.- Parameters:
-
type- тип содержимого - Returns:
- строку, содержащую имя класса
EditorKitдляtype - Since:
- 1.3
getPreferredSize
public Dimension getPreferredSize()
JEditorPane. Предпочтительный размер для JEditorPane немного изменён по сравнению со стандартным размером родительского класса. Если размер области просмотра стал меньше минимального размера компонента, определение прокручиваемости для отслеживания ширины или высоты станет ложным. Стандартная компоновка области просмотра даст предпочтительный размер, а это нежелательно в случае отслеживания прокручиваемости. В этом случае предпочтительный размер изменяется на минимальный размер. Это позволяет, например, HTML-таблицам сжиматься до минимального размера, а затем выстраиваться в минимальном размере, отказываться от дальнейшего сжатия.- Overrides:
-
getPreferredSizeв классеJComponent - Returns:
- строку, содержащую предпочтительный размер
- 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 в соответствии с шириной viewport.- Specified by:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Overrides:
-
getScrollableTracksViewportWidthв классеJTextComponent - Returns:
- true, если viewport должен принудительно установить ширину Scrollables в соответствии со своей собственной, иначе false
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Scrollable в соответствии с высотой viewport.- Specified by:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Overrides:
-
getScrollableTracksViewportHeightв классеJTextComponent - Returns:
- true, если viewport должен принудительно установить высоту
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, 2023, 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/21/docs/api/java.desktop/javax/swing/JEditorPane.html