Spec-Zone.ru › OpenJDK 8

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

public class JEditorPane
extends JTextComponent

Компонент для редактирования различных типов контента. Информацию и примеры использования редакторов вы найдете в разделе Использование текстовых компонентов учебника Java.

Этот компонент использует реализации EditorKit для достижения своего поведения. Он эффективно преобразуется в соответствующий вид текстового редактора для заданного типа контента. Тип контента, к которому привязан редактор в данный момент, определяется установленным EditorKit. Если контент установлен на новую URL, то тип 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.

Вложенные классы

Модификатор и тип Класс и описание
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)

Возвращает имя класса, в настоящее время зарегистрированного для типа type.

EditorKit getEditorKitForContentType(String type)

Получает набор редактирования для использования с заданным типом содержимого.

HyperlinkListener[] getHyperlinkListeners()

Возвращает массив всех слушателей гиперссылок, добавленных в этот 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)

Прокручивает представление до заданного положения ссылки (то есть, значения, возвращаемого методом UL.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, addInputMethodListener, 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, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write

Методы, унаследованные от класса javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, 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, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, 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, getPeer, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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

public HyperlinkListener[] getHyperlinkListeners()

Возвращает массив всех HyperLinkListener добавленных в этот JEditorPane с помощью addHyperlinkListener().

Возвращает:
все добавленные HyperLinkListener или пустой массив, если слушатели не добавлены
С тех пор:
1.4

fireHyperlinkUpdate

public void fireHyperlinkUpdate(HyperlinkEvent e)

Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Обычно это вызывается текущим установленным EditorKit если текущий тип контента поддерживает гиперссылки и была активность со ссылкой. Список слушателей обрабатывается в обратном порядке.

Параметры:
e - событие
См. также:
EventListenerList

setPage

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

Параметры:
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 страницы
Исключения:
IOException

scrollToReference

public void scrollToReference(String reference)

Прокручивает представление до заданного местоположения ссылки (то есть значения, возвращаемого методом UL.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

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

public final void setContentType(String type)

Устанавливает тип содержимого, обрабатываемого этим редактором. Это вызывает getEditorKitForContentType, а затем setEditorKit, если набор редакторов успешно найден. Это в основном удобный метод, который можно использовать как альтернативу прямому вызову setEditorKit.

Если в спецификации типа содержимого указано определение кодировки символов, оно будет использоваться при загрузке входных потоков с использованием соответствующего EditorKit. Например, если тип задан как text/html; charset=EUC-JP, содержимое будет загружено с использованием EditorKit, зарегистрированного для text/html, и чтец, предоставленный EditorKit, для загрузки Юникода в документ, будет использовать кодировку EUC-JP для преобразования в Юникод. Если тип не распознан, содержимое будет загружено с использованием EditorKit, зарегистрированного для простого текста, text/plain.

Parameters:
type - не-null MIME-тип для поддержки редактирования содержимого
Throws:
NullPointerException - если параметр type равен null
See Also:
getContentType()

setEditorKit

public void setEditorKit(EditorKit kit)

Устанавливает текущий установленный набор для обработки содержимого. Это связанное свойство, которое определяет тип содержимого редактора. Любой старый набор сначала отключается, а затем, если набор не пустой, новый набор устанавливается, и для него создаётся документ по умолчанию. Событие %%%CODE_BLOCK_260%% ("editorKit") всегда генерируется при вызове setEditorKit.

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

Parameters:
kit - желаемое поведение редактора
See Also:
getEditorKit()

getEditorKitForContentType

public EditorKit getEditorKitForContentType(String type)

Извлекает набор редакторов для использования с данным типом содержимого. Это вызывается, когда запрашивается тип, не совпадающий с текущим установленным типом. Если компонент не имеет зарегистрированного EditorKit для данного типа, он попытается создать EditorKit из реестра EditorKit по умолчанию. Если это не удастся, используется PlainEditorKit, предполагая, что все текстовые документы могут быть представлены как простой текст.

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

Parameters:
type - не-null тип содержимого
Returns:
набор редакторов

setEditorKitForContentType

public void setEditorKitForContentType(String type,
                                       EditorKit k)

Непосредственно устанавливает набор редакторов для использования с данным типом. Реализация внешнего вида может использовать это в сочетании с createEditorKitForContentType, чтобы установить обработчики для типов содержимого с предпочтениями внешнего вида.

Parameters:
type - не-null тип содержимого
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 - не-null тип содержимого
classname - класс для последующей загрузки

registerEditorKitForContentType

public static void registerEditorKitForContentType(String type,
                                                   String classname,
                                                   ClassLoader loader)

Устанавливает стандартные связи type с classname. Класс будет динамически загружен позже, когда это действительно потребуется, используя указанный ClassLoader, и его можно безопасно изменить перед использованием, чтобы избежать загрузки нежелательных классов.

Parameters:
type - не-null тип содержимого
classname - класс для последующей загрузки
loader - ClassLoader для использования при загрузке имени

getEditorKitClassNameForContentType

public static String getEditorKitClassNameForContentType(String type)

Возвращает текущее зарегистрированное имя класса EditorKit для типа type.

Parameters:
type - не-null тип содержимого
Since:
1.3

getPreferredSize

public Dimension getPreferredSize()

Возвращает предпочтительный размер для JEditorPane. Предпочтительный размер для JEditorPane немного отличается от предпочтительного размера базового класса. Если размер области просмотра стал меньше минимального размера компонента, определение scrollable для отслеживания ширины или высоты станет ложным. Стандартная компоновка области просмотра вернёт предпочтительный размер, а это нежелательно в случае отслеживания scrollable. В этом случае предпочтительный размер изменяется на минимальный размер. Это позволяет таким элементам, как HTML-таблицы, сжиматься до минимального размера, а затем размещаться в минимальном размере, отказываясь от дальнейшего сжатия.

Overrides:
getPreferredSize в классе JComponent
Returns:
объект Dimension, содержащий предпочтительный размер
See Also:
JComponent.setPreferredSize(java.awt.Dimension), ComponentUI

setText

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

public boolean getScrollableTracksViewportWidth()

Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable в соответствие с шириной области просмотра.

Specified by:
getScrollableTracksViewportWidth в интерфейсе Scrollable
Overrides:
getScrollableTracksViewportWidth в классе JTextComponent
Returns:
true, если область просмотра должна принудительно устанавливать ширину Scrollables в соответствие со своей собственной шириной, false в противном случае

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()

Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable в соответствие с высотой области просмотра.

Specified by:
getScrollableTracksViewportHeight в интерфейсе Scrollable
Overrides:
getScrollableTracksViewportHeight в классе JTextComponent
Returns:
true, если область просмотра должна принудительно установить высоту Scrollable в соответствие со своей собственной высотой, false в противном случае

paramString

protected String paramString()

Возвращает строковое представление этого JEditorPane. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.

Переопределяет:
paramString в классе JTextComponent
Возвращает:
строковое представление этого JEditorPane

getAccessibleContext

public AccessibleContext getAccessibleContext()

Получает AccessibleContext, связанный с этим 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.

Spec-Zone.ru

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