Spec-Zone.ru › OpenJDK 17

Класс 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
Компонент для редактирования различных типов содержимого. Информацию о том, как использовать области редактирования и примеры можно найти в Использование текстовых компонентов, разделе учебника 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.

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

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

Некоторые виды содержимого могут обеспечивать поддержку гиперссылок, генерируя события гиперссылок. HTML EditorKit будет генерировать события гиперссылок, если JEditorPane не редактируется (был вызван JEditorPane.setEditable(false);). Если в документе встроены HTML-фреймы, обычный ответ — изменение части текущего документа. Следующий фрагмент кода — возможная реализация обработчика событий гиперссылок, которая обрабатывает события HTML-фреймов особым образом и просто отображает любые другие активированные гиперссылки.


     class Hyperactive implements HyperlinkListener {
 
         public void hyperlinkUpdate(HyperlinkEvent e) {
             if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                 JEditorPane pane = (JEditorPane) e.getSource();
                 if (e instanceof HTMLFrameHyperlinkEvent) {
                     HTMLFrameHyperlinkEvent  evt = (HTMLFrameHyperlinkEvent)e;
                     HTMLDocument doc = (HTMLDocument)pane.getDocument();
                     doc.processHTMLFrameHyperlinkEvent(evt);
                 } else {
                     try {
                         pane.setPage(e.getURL());
                     } catch (Throwable t) {
                         t.printStackTrace();
                     }
                 }
             }
         }
     }

 

Для получения информации о том, как настроить отображение text/html, см. W3C_LENGTH_UNITS и HONOR_DISPLAY_PROPERTIES

Информация, зависящая от культуры в некоторых документах, обрабатывается механизмом, называемым кодировкой символов. Кодировка символов — это однозначное отображение членов набора символов (букв, иероглифов, цифр, символов или управляющих функций) в конкретные числовые значения кода. Она представляет способ хранения файла. Примерами кодировок символов являются ISO-8859-1, ISO-8859-5, Shift-jis, Euc-jp и UTF-8. При передаче файла агенту пользователя (JEditorPane) он преобразуется в наборы символов документа (ISO-10646, псевдоним Unicode).

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

  1. Один способ — указать кодировку символов как параметр MIME-типа. Это будет установлено вызовом метода setContentType. Если содержимое загружается методом setPage, тип содержимого будет установлен в соответствии с указанием URL. Если файл загружается напрямую, ожидается, что тип содержимого будет установлен до загрузки.
  2. Кодировку символов также можно указать в самом документе. Для этого необходимо прочитать документ до определения желаемой кодировки символов. Для обработки этого ожидается, что операция EditorKit.read бросит ChangedCharSetException, которая будет перехвачена. Затем чтение перезапускается с новым ридером, который использует кодировку символов, указанную в 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(String url)
Создаёт JEditorPane на основе строки, содержащей описание URL.
JEditorPane(String type, String text)
Создаёт JEditorPane, инициализированный заданным текстом.
JEditorPane(URL initialPage)
Создаёт JEditorPane на основе указанного URL для входных данных.

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

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

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

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

С момента:
1.5
См. также:
  • Значения константных полей

HONOR_DISPLAY_PROPERTIES

public static final String HONOR_DISPLAY_PROPERTIES
Ключ для свойства клиента, используемого для указания, используются ли шрифт и цвет фона по умолчанию из компонента, если шрифт или цвет фона не указаны в стилизованном тексте.

Значение по умолчанию зависит от внешнего вида; для включения установите свойство клиента property с этим именем в значение Boolean.TRUE.

С момента:
1.5
См. также:
  • Значения константных полей

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

JEditorPane

public JEditorPane()
Создаёт новый JEditorPane. Модель документа установлена в null.

JEditorPane

public JEditorPane(URL initialPage) throws IOException
Создаёт JEditorPane на основе указанного URL-адреса для ввода.
Параметры:
initialPage - URL-адрес
Исключения:
IOException - если URL-адрес null или к нему нет доступа

JEditorPane

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

JEditorPane

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

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

addHyperlinkListener

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

removeHyperlinkListener

public void removeHyperlinkListener(HyperlinkListener listener)
Удаляет обработчик гиперссылок.
Параметры:
listener - обработчик

getHyperlinkListeners

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

fireHyperlinkUpdate

public void fireHyperlinkUpdate(HyperlinkEvent e)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Обычно вызывается текущим установленным EditorKit если текущий тип содержимого поддерживает гиперссылки, и произошла активность со ссылкой. Список слушателей обрабатывается в обратном порядке.
Параметры:
e - событие
См. также:
  • 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 — это текущий отображаемый URL, документ не будет перезагружен. Для принудительной перезагрузки документа необходимо очистить свойство описания потока документа. Следующий код демонстрирует это:
   Document doc = jEditorPane.getDocument();
   doc.putProperty(Document.StreamDescriptionProperty, null);
 
Если желаемый URL не отображается, вызывается метод getStream, предоставляющий подклассам контроль над предоставленным потоком.

Это может загружаться синхронно или асинхронно, в зависимости от документа, возвращённого методом EditorKit. Если Document является типа AbstractDocument и имеет значение, возвращаемое методом AbstractDocument.getAsynchronousLoadPriority, которое больше или равно нулю, страница будет загружена на отдельной нити с заданным приоритетом.

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

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

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

read

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

УстановитьСтраницу

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

getUIClassID

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

создатьПочтовыйНабор

protected EditorKit createDefaultEditorKit()
Создаёт стандартный редакторский набор (PlainEditorKit) при первом создании компонента.
Возвращает:
редакторский набор

получитьРедакторскийНабор

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

получитьТипСодержимого

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

установитьТипСодержимого

@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, для загрузки Юникода в документ, будет использоваться кодировка EUC-JP для преобразования в Юникод. Если тип не распознан, содержимое будет загружено с использованием EditorKit, зарегистрированного для обычного текста, text/plain.

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

установитьРедакторскийНабор

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

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

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

получитьРедакторскийНаборДляТипСодержимого

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

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

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

установитьРедакторскийНаборДляТипСодержимого

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

заменитьВыбор

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

создатьРедакторскийНаборДляТипСодержимого

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

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

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

зарегистрироватьРедакторскийНаборДляТипСодержимого

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

зарегистрироватьРедакторскийНаборДляТипСодержимого

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

получитьИмяКлассРедакторскийНаборДляТипСодержимого

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

получитьПредпочтительныйРазмер

public Dimension getPreferredSize()
Возвращает предпочтительный размер для JEditorPane. Предпочтительный размер для JEditorPane немного отличается от предпочтительного размера суперкласса. Если размер области просмотра стал меньше минимального размера компонента, значение scrollable для отслеживания ширины или высоты станет ложным. Стандартная компоновка области просмотра вернёт предпочтительный размер, что нежелательно в случае, когда scrollable отслеживает. В этом случае стандартный предпочтительный размер корректируется до минимального размера. Это позволяет таким элементам, как HTML-таблицы, уменьшаться до минимального размера, а затем располагаться в минимальном размере, отказываясь от дальнейшего уменьшения.
Переопределяет:
getPreferredSize в классе JComponent
Возвращает:
строку, содержащую предпочтительный размер
См. также:
  • 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 не будет иметь каких-либо остаточных состояний.

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

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

Overrides:
setText в классе JTextComponent
Parameters:
t - новый текст для установки; если null старый текст будет удален
See Also:
  • getText()

getText

public String getText()
Возвращает текст, содержащийся в этом TextComponent в терминах типа содержимого этого редактора. Если при попытке извлечь текст возникает исключение, возвращается null. Это реализовано для вызова JTextComponent.write с StringWriter.
Overrides:
getText в классе JTextComponent
Returns:
текст
See Also:
  • setText(java.lang.String)

getScrollableTracksViewportWidth

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

getScrollableTracksViewportHeight

@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого 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()
Получает AccessibleContext, связанный с этим JEditorPane. Для областей редактирования AccessibleContext принимает форму AccessibleJEditorPane. Новый экземпляр AccessibleJEditorPane создается при необходимости.
Specified by:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе JTextComponent
Returns:
AccessibleJEditorPane, который служит AccessibleContext этого JEditorPane

© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/JEditorPane.html

Spec-Zone.ru

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