Класс 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.

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

  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 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.

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.

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).

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

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 не будет иметь каких-либо остаточных состояний.

  1. Оставление существующей модели означает, что старое представление будет разрушено, а новое создано, где замена документа предотвратит разрушение старого представления.
  2. Некоторые форматы (например, 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

Spec-Zone .ru
спецификации, руководства, описания, API