- All Implemented Interfaces:
- ImageObserver,- MenuContainer,- Serializable,- Accessible,- Scrollable
- Direct Known Subclasses:
- JTextPane
@JavaBean(defaultProperty="UIClassID", description="A text component to edit various types of content.") public class JEditorPane extends JTextComponent
 This component uses implementations of the
 EditorKit to accomplish its behavior. It effectively
 morphs into the proper kind of text editor for the kind
 of content it is given.  The content type that editor is bound
 to at any given time is determined by the EditorKit currently
 installed.  If the content is set to a new URL, its type is used
 to determine the EditorKit that should be used to
 load the content.
 
By default, the following types of content are known:
- text/plain
- Plain text, which is the default the type given isn't
 recognized.  The kit used in this case is an extension of
 DefaultEditorKitthat produces a wrapped plain text view.
- text/html
- HTML text.  The kit used in this case is the class
 javax.swing.text.html.HTMLEditorKitwhich provides HTML 3.2 support.
- text/rtf
- RTF text.  The kit used in this case is the class
 javax.swing.text.rtf.RTFEditorKitwhich provides a limited support of the Rich Text Format.
There are several ways to load content into this component.
- 
 The setTextmethod can be used to initialize the component from a string. In this case the currentEditorKitwill be used, and the content type will be expected to be of this type.
- 
 The readmethod can be used to initialize the component from aReader. Note that if the content type is HTML, relative references (e.g. for things like images) can't be resolved unless the <base> tag is used or the Base property onHTMLDocumentis set. In this case the currentEditorKitwill be used, and the content type will be expected to be of this type.
- 
 The setPagemethod can be used to initialize the component from a URL. In this case, the content type will be determined from the URL, and the registeredEditorKitfor that content type will be set.
 Some kinds of content may provide hyperlink support by generating
 hyperlink events.  The HTML EditorKit will generate
 hyperlink events if the JEditorPane is not editable
 (JEditorPane.setEditable(false); has been called).
 If HTML frames are embedded in the document, the typical response would be
 to change a portion of the current document.  The following code
 fragment is a possible hyperlink listener implementation, that treats
 HTML frame events specially, and simply displays any other activated
 hyperlinks.
 
     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();
                     }
                 }
             }
         }
     }
 
 
 For information on customizing how text/html is rendered please see
 W3C_LENGTH_UNITS and HONOR_DISPLAY_PROPERTIES
 
 Culturally dependent information in some documents is handled through
 a mechanism called character encoding.  Character encoding is an
 unambiguous mapping of the members of a character set (letters, ideographs,
 digits, symbols, or control functions) to specific numeric code values. It
 represents the way the file is stored. Example character encodings are
 ISO-8859-1, ISO-8859-5, Shift-jis, Euc-jp, and UTF-8. When the file is
 passed to an user agent (JEditorPane) it is converted to
 the document character set (ISO-10646 aka Unicode).
 
 There are multiple ways to get a character set mapping to happen
 with JEditorPane.
 
- 
 One way is to specify the character set as a parameter of the MIME
 type.  This will be established by a call to the
 setContentTypemethod. If the content is loaded by thesetPagemethod the content type will have been set according to the specification of the URL. It the file is loaded directly, the content type would be expected to have been set prior to loading.
- 
 Another way the character set can be specified is in the document itself.
 This requires reading the document prior to determining the character set
 that is desired.  To handle this, it is expected that the
 EditorKit.read operation throw aChangedCharSetExceptionwhich will be caught. The read is then restarted with a new Reader that uses the character set specified in theChangedCharSetException(which is anIOException).
- Newlines
- For a discussion on how newlines are handled, see DefaultEditorKit.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
 Warning:
 Serialized objects of this class will not be compatible with
 future Swing releases. The current serialization support is
 appropriate for short term storage or RMI between applications running
 the same version of Swing.  As of 1.4, support for long term storage
 of all JavaBeans™
 has been added to the java.beans package.
 Please see XMLEncoder.
- Since:
- 1.2
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected classJEditorPane.AccessibleJEditorPaneThis class implements accessibility support for theJEditorPaneclass.protected classJEditorPane.AccessibleJEditorPaneHTMLThis class provides support forAccessibleHypertext, and is used in instances where theEditorKitinstalled in thisJEditorPaneis an instance ofHTMLEditorKit.protected classJEditorPane.JEditorPaneAccessibleHypertextSupportWhat's returned byAccessibleJEditorPaneHTML.getAccessibleText.Nested classes/interfaces declared in class javax.swing.text.JTextComponentJTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBindingNested classes/interfaces declared in class java.awt.ComponentComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
- 
Field SummaryFields Modifier and Type Field Description static StringHONOR_DISPLAY_PROPERTIESKey for a client property used to indicate whether the default font and foreground color from the component are used if a font or foreground color is not specified in the styled text.static StringW3C_LENGTH_UNITSKey for a client property used to indicate whether w3c compliant length units are used for html rendering.Fields declared in class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields declared in class java.awt.ComponentaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields declared in interface java.awt.image.ImageObserverABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
- 
Constructor SummaryConstructors Constructor Description JEditorPane()Creates a newJEditorPane.JEditorPane(String url)Creates aJEditorPanebased on a string containing a URL specification.JEditorPane(String type, String text)Creates aJEditorPanethat has been initialized to the given text.JEditorPane(URL initialPage)Creates aJEditorPanebased on a specified URL for input.
- 
Method SummaryModifier and Type Method Description voidaddHyperlinkListener(HyperlinkListener listener)Adds a hyperlink listener for notification of any changes, for example when a link is selected and entered.protected EditorKitcreateDefaultEditorKit()Creates the default editor kit (PlainEditorKit) for when the component is first created.static EditorKitcreateEditorKitForContentType(String type)Creates a handler for the given type from the default registry of editor kits.voidfireHyperlinkUpdate(HyperlinkEvent e)Notifies all listeners that have registered interest for notification on this event type.AccessibleContextgetAccessibleContext()Gets the AccessibleContext associated with this JEditorPane.StringgetContentType()Gets the type of content that this editor is currently set to deal with.EditorKitgetEditorKit()Fetches the currently installed kit for handling content.static StringgetEditorKitClassNameForContentType(String type)Returns the currently registeredEditorKitclass name for the typetype.EditorKitgetEditorKitForContentType(String type)Fetches the editor kit to use for the given type of content.HyperlinkListener[]getHyperlinkListeners()Returns an array of all theHyperLinkListeners added to this JEditorPane with addHyperlinkListener().URLgetPage()Gets the current URL being displayed.DimensiongetPreferredSize()Returns the preferred size for theJEditorPane.booleangetScrollableTracksViewportHeight()Returns true if a viewport should always force the height of thisScrollableto match the height of the viewport.booleangetScrollableTracksViewportWidth()Returns true if a viewport should always force the width of thisScrollableto match the width of the viewport.protected InputStreamgetStream(URL page)Fetches a stream for the given URL, which is about to be loaded by thesetPagemethod.StringgetText()Returns the text contained in thisTextComponentin terms of the content type of this editor.StringgetUIClassID()Gets the class ID for the UI.protected StringparamString()Returns a string representation of thisJEditorPane.voidread(InputStream in, Object desc)This method initializes from a stream.static voidregisterEditorKitForContentType(String type, String classname)Establishes the default bindings oftypetoclassname.static voidregisterEditorKitForContentType(String type, String classname, ClassLoader loader)Establishes the default bindings oftypetoclassname.voidremoveHyperlinkListener(HyperlinkListener listener)Removes a hyperlink listener.voidreplaceSelection(String content)Replaces the currently selected content with new content represented by the given string.voidscrollToReference(String reference)Scrolls the view to the given reference location (that is, the value returned by theURL.getRefmethod for the URL being displayed).voidsetContentType(String type)Sets the type of content that this editor handles.voidsetEditorKit(EditorKit kit)Sets the currently installed kit for handling content.voidsetEditorKitForContentType(String type, EditorKit k)Directly sets the editor kit to use for the given type.voidsetPage(String url)Sets the current URL being displayed.voidsetPage(URL page)Sets the current URL being displayed.voidsetText(String t)Sets the text of thisTextComponentto the specified content, which is expected to be in the format of the content type of this editor.Methods declared in class javax.swing.text.JTextComponentaddCaretListener, 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, writeMethods declared in class javax.swing.JComponentaddAncestorListener, 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, updateMethods declared in class java.awt.Containeradd, 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, validateTreeMethods declared in class java.awt.Componentaction, 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, 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
- 
Field Details- 
W3C_LENGTH_UNITSKey for a client property used to indicate whether w3c compliant length units are used for html rendering.By default this is not enabled; to enable it set the client propertywith this name toBoolean.TRUE.- Since:
- 1.5
- See Also:
- Constant Field Values
 
- 
HONOR_DISPLAY_PROPERTIESKey for a client property used to indicate whether the default font and foreground color from the component are used if a font or foreground color is not specified in the styled text.The default varies based on the look and feel; to enable it set the client propertywith this name toBoolean.TRUE.- Since:
- 1.5
- See Also:
- Constant Field Values
 
 
- 
- 
Constructor Details- 
JEditorPanepublic JEditorPane()Creates a newJEditorPane. The document model is set tonull.
- 
JEditorPaneCreates aJEditorPanebased on a specified URL for input.- Parameters:
- initialPage- the URL
- Throws:
- IOException- if the URL is- nullor cannot be accessed
 
- 
JEditorPaneCreates aJEditorPanebased on a string containing a URL specification.- Parameters:
- url- the URL
- Throws:
- IOException- if the URL is- nullor cannot be accessed
 
- 
JEditorPaneCreates aJEditorPanethat has been initialized to the given text. This is a convenience constructor that calls thesetContentTypeandsetTextmethods.- Parameters:
- type- mime type of the given text
- text- the text to initialize with; may be- null
- Throws:
- NullPointerException- if the- typeparameter is- null
 
 
- 
- 
Method Details- 
addHyperlinkListenerAdds a hyperlink listener for notification of any changes, for example when a link is selected and entered.- Parameters:
- listener- the listener
 
- 
removeHyperlinkListenerRemoves a hyperlink listener.- Parameters:
- listener- the listener
 
- 
getHyperlinkListenersReturns an array of all theHyperLinkListeners added to this JEditorPane with addHyperlinkListener().- Returns:
- all of the HyperLinkListeners added or an empty array if no listeners have been added
- Since:
- 1.4
 
- 
fireHyperlinkUpdateNotifies all listeners that have registered interest for notification on this event type. This is normally called by the currently installedEditorKitif a content type that supports hyperlinks is currently active and there was activity with a link. The listener list is processed last to first.- Parameters:
- e- the event
- See Also:
- EventListenerList
 
- 
setPage@BeanProperty(expert=true, description="the URL used to set content") public void setPage(URL page) throws IOExceptionSets the current URL being displayed. The content type of the pane is set, and if the editor kit for the pane is non-null, then a new default document is created and the URL is read into it. If the URL contains and reference location, the location will be scrolled to by calling thescrollToReferencemethod. If the desired URL is the one currently being displayed, the document will not be reloaded. To force a document reload it is necessary to clear the stream description property of the document. The following code shows how this can be done:Document doc = jEditorPane.getDocument(); doc.putProperty(Document.StreamDescriptionProperty, null); If the desired URL is not the one currently being displayed, thegetStreammethod is called to give subclasses control over the stream provided.This may load either synchronously or asynchronously depending upon the document returned by the EditorKit. If theDocumentis of typeAbstractDocumentand has a value returned byAbstractDocument.getAsynchronousLoadPrioritythat is greater than or equal to zero, the page will be loaded on a separate thread using that priority.If the document is loaded synchronously, it will be filled in with the stream prior to being installed into the editor with a call to setDocument, which is bound and will fire a property change event. If anIOExceptionis thrown the partially loaded document will be discarded and neither the document or page property change events will be fired. If the document is successfully loaded and installed, a view will be built for it by the UI which will then be scrolled if necessary, and then the page property change event will be fired.If the document is loaded asynchronously, the document will be installed into the editor immediately using a call to setDocumentwhich will fire a document property change event, then a thread will be created which will begin doing the actual loading. In this case, the page property change event will not be fired by the call to this method directly, but rather will be fired when the thread doing the loading has finished. It will also be fired on the event-dispatch thread. Since the calling thread can not throw anIOExceptionin the event of failure on the other thread, the page property change event will be fired when the other thread is done whether the load was successful or not.- Parameters:
- page- the URL of the page
- Throws:
- IOException- for a- nullor invalid page specification, or exception from the stream being read
- See Also:
- getPage()
 
- 
readThis method initializes from a stream. If the kit is set to be of typeHTMLEditorKit, and thedescparameter is anHTMLDocument, then it invokes theHTMLEditorKitto initiate the read. Otherwise it calls the superclass method which loads the model as plain text.- Parameters:
- in- the stream from which to read
- desc- an object describing the stream
- Throws:
- IOException- as thrown by the stream being used to initialize
- See Also:
- JTextComponent.read(java.io.Reader, java.lang.Object),- JTextComponent.setDocument(javax.swing.text.Document)
 
- 
getStreamFetches a stream for the given URL, which is about to be loaded by thesetPagemethod. By default, this simply opens the URL and returns the stream. This can be reimplemented to do useful things like fetch the stream from a cache, monitor the progress of the stream, etc.This method is expected to have the side effect of establishing the content type, and therefore setting the appropriate EditorKitto use for loading the stream.If this the stream was an http connection, redirects will be followed and the resulting URL will be set as the Document.StreamDescriptionPropertyso that relative URL's can be properly resolved.- Parameters:
- page- the URL of the page
- Returns:
- a stream for the URL which is about to be loaded
- Throws:
- IOException- if an I/O problem occurs
 
- 
scrollToReferenceScrolls the view to the given reference location (that is, the value returned by theURL.getRefmethod for the URL being displayed). By default, this method only knows how to locate a reference in an HTMLDocument. The implementation calls thescrollRectToVisiblemethod to accomplish the actual scrolling. If scrolling to a reference location is needed for document types other than HTML, this method should be reimplemented. This method will have no effect if the component is not visible.- Parameters:
- reference- the named location to scroll to
 
- 
getPageGets the current URL being displayed. If a URL was not specified in the creation of the document, this will returnnull, and relative URL's will not be resolved.- Returns:
- the URL, or nullif none
 
- 
setPageSets the current URL being displayed.- Parameters:
- url- the URL for display
- Throws:
- IOException- for a- nullor invalid URL specification
 
- 
getUIClassIDGets the class ID for the UI.- Overrides:
- getUIClassIDin class- JComponent
- Returns:
- the string "EditorPaneUI"
- See Also:
- JComponent.getUIClassID(),- UIDefaults.getUI(javax.swing.JComponent)
 
- 
createDefaultEditorKitCreates the default editor kit (PlainEditorKit) for when the component is first created.- Returns:
- the editor kit
 
- 
getEditorKitFetches the currently installed kit for handling content.createDefaultEditorKitis called to set up a default if necessary.- Returns:
- the editor kit
 
- 
getContentTypeGets the type of content that this editor is currently set to deal with. This is defined to be the type associated with the currently installedEditorKit.- Returns:
- the content type, nullif no editor kit set
 
- 
setContentType@BeanProperty(bound=false, description="the type of content") public final void setContentType(String type)Sets the type of content that this editor handles. This callsgetEditorKitForContentType, and thensetEditorKitif an editor kit can be successfully located. This is mostly convenience method that can be used as an alternative to callingsetEditorKitdirectly.If there is a charset definition specified as a parameter of the content type specification, it will be used when loading input streams using the associated EditorKit. For example if the type is specified astext/html; charset=EUC-JPthe content will be loaded using theEditorKitregistered fortext/htmland the Reader provided to theEditorKitto load unicode into the document will use theEUC-JPcharset for translating to unicode. If the type is not recognized, the content will be loaded using theEditorKitregistered for plain text,text/plain.- Parameters:
- type- the non-- nullmime type for the content editing support
- Throws:
- NullPointerException- if the- typeparameter is- null
- See Also:
- getContentType()
 
- 
setEditorKit@BeanProperty(expert=true, description="the currently installed kit for handling content") public void setEditorKit(EditorKit kit)Sets the currently installed kit for handling content. This is the bound property that establishes the content type of the editor. Any old kit is first deinstalled, then if kit is non-null, the new kit is installed, and a default document created for it. APropertyChangeevent ("editorKit") is always fired whensetEditorKitis called.NOTE: This has the side effect of changing the model, because the EditorKitis the source of how a particular type of content is modeled. This method will causesetDocumentto be called on behalf of the caller to ensure integrity of the internal state.- Parameters:
- kit- the desired editor behavior
- See Also:
- getEditorKit()
 
- 
getEditorKitForContentTypeFetches the editor kit to use for the given type of content. This is called when a type is requested that doesn't match the currently installed type. If the component doesn't have anEditorKitregistered for the given type, it will try to create anEditorKitfrom the defaultEditorKitregistry. If that fails, aPlainEditorKitis used on the assumption that all text documents can be represented as plain text.This method can be reimplemented to use some other kind of type registry. This can be reimplemented to use the Java Activation Framework, for example. - Parameters:
- type- the non-- nullcontent type
- Returns:
- the editor kit
 
- 
setEditorKitForContentTypeDirectly sets the editor kit to use for the given type. A look-and-feel implementation might use this in conjunction withcreateEditorKitForContentTypeto install handlers for content types with a look-and-feel bias.- Parameters:
- type- the non-- nullcontent type
- k- the editor kit to be set
 
- 
replaceSelectionReplaces the currently selected content with new content represented by the given string. If there is no selection this amounts to an insert of the given text. If there is no replacement text (i.e. the content string is empty ornull) this amounts to a removal of the current selection. The replacement text will have the attributes currently defined for input. If the component is not editable, beep and return.- Overrides:
- replaceSelectionin class- JTextComponent
- Parameters:
- content- the content to replace the selection with. This value can be- null
 
- 
createEditorKitForContentTypeCreates a handler for the given type from the default registry of editor kits. The registry is created if necessary. If the registered class has not yet been loaded, an attempt is made to dynamically load the prototype of the kit for the given type. If the type was registered with aClassLoader, thatClassLoaderwill be used to load the prototype. If there was no registeredClassLoader,Class.forNamewill be used to load the prototype.Once a prototype EditorKitinstance is successfully located, it is cloned and the clone is returned.- Parameters:
- type- the content type
- Returns:
- the editor kit, or nullif there is nothing registered for the given type
 
- 
registerEditorKitForContentTypeEstablishes the default bindings oftypetoclassname. The class will be dynamically loaded later when actually needed, and can be safely changed before attempted uses to avoid loading unwanted classes. The prototypeEditorKitwill be loaded withClass.forNamewhen registered with this method.- Parameters:
- type- the non-- nullcontent type
- classname- the class to load later
 
- 
registerEditorKitForContentTypepublic static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)Establishes the default bindings oftypetoclassname. The class will be dynamically loaded later when actually needed using the givenClassLoader, and can be safely changed before attempted uses to avoid loading unwanted classes.- Parameters:
- type- the non-- nullcontent type
- classname- the class to load later
- loader- the- ClassLoaderto use to load the name
 
- 
getEditorKitClassNameForContentTypeReturns the currently registeredEditorKitclass name for the typetype.- Parameters:
- type- the non-- nullcontent type
- Returns:
- a Stringcontaining theEditorKitclass name fortype
- Since:
- 1.3
 
- 
getPreferredSizeReturns the preferred size for theJEditorPane. The preferred size forJEditorPaneis slightly altered from the preferred size of the superclass. If the size of the viewport has become smaller than the minimum size of the component, the scrollable definition for tracking width or height will turn to false. The default viewport layout will give the preferred size, and that is not desired in the case where the scrollable is tracking. In that case the normal preferred size is adjusted to the minimum size. This allows things like HTML tables to shrink down to their minimum size and then be laid out at their minimum size, refusing to shrink any further.- Overrides:
- getPreferredSizein class- JComponent
- Returns:
- a Dimensioncontaining the preferred size
- See Also:
- JComponent.setPreferredSize(java.awt.Dimension),- ComponentUI
 
- 
setTextSets the text of thisTextComponentto the specified content, which is expected to be in the format of the content type of this editor. For example, if the type is set totext/htmlthe string should be specified in terms of HTML.This is implemented to remove the contents of the current document, and replace them by parsing the given string using the current EditorKit. This gives the semantics of the superclass by not changing out the model, while supporting the content type currently set on this component. The assumption is that the previous content is relatively small, and that the previous content doesn't have side effects. Both of those assumptions can be violated and cause undesirable results. To avoid this, create a new document,getEditorKit().createDefaultDocument(), and replace the existingDocumentwith the new one. You are then assured the previousDocumentwon't have any lingering state.- Leaving the existing model in place means that the old view will be torn down, and a new view created, where replacing the document would avoid the tear down of the old view.
- Some formats (such as HTML) can install things into the document that can influence future contents. HTML can have style information embedded that would influence the next content installed unexpectedly.
 An alternative way to load this component with a string would be to create a StringReader and call the read method. In this case the model would be replaced after it was initialized with the contents of the string. - Overrides:
- setTextin class- JTextComponent
- Parameters:
- t- the new text to be set; if- nullthe old text will be deleted
- See Also:
- getText()
 
- 
getTextReturns the text contained in thisTextComponentin terms of the content type of this editor. If an exception is thrown while attempting to retrieve the text,nullwill be returned. This is implemented to callJTextComponent.writewith aStringWriter.- Overrides:
- getTextin class- JTextComponent
- Returns:
- the text
- See Also:
- setText(java.lang.String)
 
- 
getScrollableTracksViewportWidthReturns true if a viewport should always force the width of thisScrollableto match the width of the viewport.- Specified by:
- getScrollableTracksViewportWidthin interface- Scrollable
- Overrides:
- getScrollableTracksViewportWidthin class- JTextComponent
- Returns:
- true if a viewport should force the Scrollables width to match its own, false otherwise
 
- 
getScrollableTracksViewportHeightReturns true if a viewport should always force the height of thisScrollableto match the height of the viewport.- Specified by:
- getScrollableTracksViewportHeightin interface- Scrollable
- Overrides:
- getScrollableTracksViewportHeightin class- JTextComponent
- Returns:
- true if a viewport should force the
          Scrollable's height to match its own, false otherwise
 
- 
paramStringReturns a string representation of thisJEditorPane. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull.- Overrides:
- paramStringin class- JTextComponent
- Returns:
- a string representation of this JEditorPane
 
- 
getAccessibleContextGets the AccessibleContext associated with this JEditorPane. For editor panes, the AccessibleContext takes the form of an AccessibleJEditorPane. A new AccessibleJEditorPane instance is created if necessary.- Specified by:
- getAccessibleContextin interface- Accessible
- Overrides:
- getAccessibleContextin class- JTextComponent
- Returns:
- an AccessibleJEditorPane that serves as the AccessibleContext of this JEditorPane
 
 
-