JSR-209 (Final Release)

javax.swing
Class JEditorPane

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.text.JTextComponent
                  extended byjavax.swing.JEditorPane
All Implemented Interfaces:
java.awt.image.ImageObserver, Scrollable, java.io.Serializable
Direct Known Subclasses:
JTextPane

public class JEditorPane
extends JTextComponent

A text component to edit various kinds of content. You can find how-to information and examples of using editor panes in Using Text Components, a section in The Java Tutorial.

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.

There are several ways to load content into this component.

  1. The setText method can be used to initialize the component from a string. In this case the current EditorKit will be used, and the content type will be expected to be of this type.
  2. The read method can be used to initialize the component from a Reader.
  3. The setPage method can be used to initialize the component from a URL. In this case, the content type will be determined from the URL, and the registered EditorKit for that content type will be set.

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.

  1. One way is to specify the character set as a parameter of the MIME type. This will be established by a call to the setContentType method. If the content is loaded by the setPage method 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.
  2. 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 a ChangedCharSetException which will be caught. The read is then restarted with a new Reader that uses the character set specified in the ChangedCharSetException (which is an IOException).

Clarifications

Newlines

Note: The following clarification comes from the DefaultEditorKit class which is removed from this JSR however should still be respected for upward compatibility.

There are two properties which deal with newlines. The system property, line.separator, is defined to be platform-dependent, either "\n", "\r", or "\r\n". There is also a property called EndOfLineStringProperty, which is defined automatically when a document is loaded, to be the first occurrence of any of the newline characters. When a document is loaded, EndOfLineStringProperty is set appropriately, and when the document is written back out, the EndOfLineStringProperty is used. But while the document is in memory, the "\n" character is used to define a newline, regardless of how the newline is defined when the document is on disk. Therefore, for searching purposes, "\n" should always be used. When a new document is created, and the EndOfLineStringProperty has not been defined, it will use the System property when writing out the document. Note that EndOfLineStringProperty is set on the Document using the get/setProperty methods. Subclasses may override this behavior.

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 JavaBeansTM has been added to the java.beans package. Please see java.beans.XMLEncoder.


Nested Class Summary
 
Nested classes inherited from class javax.swing.text.JTextComponent
JTextComponent.KeyBinding
 
Field Summary
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JEditorPane()
          Creates a new JEditorPane.
JEditorPane(java.lang.String url)
          Creates a JEditorPane based on a string containing a URL specification.
JEditorPane(java.lang.String type, java.lang.String text)
          Creates a JEditorPane that has been initialized to the given text.
JEditorPane(java.net.URL initialPage)
          Creates a JEditorPane based on a specified URL for input.
 
Method Summary
 void addHyperlinkListener(HyperlinkListener listener)
          Adds a hyperlink listener for notification of any changes, for example when a link is selected and entered.
protected  EditorKit createDefaultEditorKit()
          Creates the default editor kit (PlainEditorKit) for when the component is first created.
 void fireHyperlinkUpdate(HyperlinkEvent e)
          Notifies all listeners that have registered interest for notification on this event type.
 java.lang.String getContentType()
          Gets the type of content that this editor is currently set to deal with.
 EditorKit getEditorKit()
          Fetches the currently installed kit for handling content.
 EditorKit getEditorKitForContentType(java.lang.String type)
          Fetches the editor kit to use for the given type of content.
 HyperlinkListener[] getHyperlinkListeners()
          Returns an array of all the HyperLinkListeners added to this JEditorPane with addHyperlinkListener().
 java.net.URL getPage()
          Gets the current URL being displayed.
 Dimension getPreferredSize()
          Returns the preferred size for the JEditorPane.
 boolean getScrollableTracksViewportHeight()
          Returns true if a viewport should always force the height of this Scrollable to match the height of the viewport.
 boolean getScrollableTracksViewportWidth()
          Returns true if a viewport should always force the width of this Scrollable to match the width of the viewport.
protected  java.io.InputStream getStream(java.net.URL page)
          Fetches a stream for the given URL, which is about to be loaded by the setPage method.
 java.lang.String getText()
          Returns the text contained in this TextComponent in terms of the content type of this editor.
 void paint(java.awt.Graphics g)
          Invoked by Swing to draw components.
protected  void paintBorder(java.awt.Graphics g)
          Paints the component's border.
protected  void paintComponent(java.awt.Graphics g)
          Calls the UI delegate's paint method, if the UI delegate is non-null.
 void paintComponents(java.awt.Graphics g)
           
protected  java.lang.String paramString()
          Returns a string representation of this JEditorPane.
protected  void printBorder(java.awt.Graphics g)
          Prints the component's border.
protected  void printComponent(java.awt.Graphics g)
          This is invoked during a printing operation.
 void printComponents(java.awt.Graphics g)
           
 void read(java.io.InputStream in, java.lang.Object desc)
          This method initializes from a stream.
 void removeHyperlinkListener(HyperlinkListener listener)
          Removes a hyperlink listener.
 void replaceSelection(java.lang.String content)
          Replaces the currently selected content with new content represented by the given string.
 void scrollToReference(java.lang.String reference)
          Scrolls the view to the given reference location (that is, the value returned by the UL.getRef method for the URL being displayed).
 void setContentType(java.lang.String type)
          Sets the type of content that this editor handles.
 void setEditorKit(EditorKit kit)
          Sets the currently installed kit for handling content.
 void setEditorKitForContentType(java.lang.String type, EditorKit k)
          Directly sets the editor kit to use for the given type.
 void setPage(java.lang.String url)
          Sets the current URL being displayed.
 void setPage(java.net.URL page)
          Sets the current URL being displayed.
 void setText(java.lang.String t)
          Sets the text of this TextComponent to the specified content, which is expected to be in the format of the content type of this editor.
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getSize, getToolTipText, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, isDoubleBuffered, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintChildren, paintImmediately, paintImmediately, print, printAll, printChildren, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, list, list, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
addComponentListener, addFocusListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getCursor, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getSize, getToolkit, getTreeLock, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processMouseEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, setBounds, setBounds, setCursor, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JEditorPane

public JEditorPane()
Creates a new JEditorPane. The document model is set to null.


JEditorPane

public JEditorPane(java.net.URL initialPage)
            throws java.io.IOException
Creates a JEditorPane based on a specified URL for input.

Parameters:
initialPage - the URL
Throws:
java.io.IOException - if the URL is null or cannot be accessed

JEditorPane

public JEditorPane(java.lang.String url)
            throws java.io.IOException
Creates a JEditorPane based on a string containing a URL specification.

Parameters:
url - the URL
Throws:
java.io.IOException - if the URL is null or cannot be accessed

JEditorPane

public JEditorPane(java.lang.String type,
                   java.lang.String text)
Creates a JEditorPane that has been initialized to the given text. This is a convenience constructor that calls the setContentType and setText methods.

Parameters:
type - mime type of the given text
text - the text to initialize with
Throws:
java.lang.NullPointerException - if the type parameter is null
Method Detail

addHyperlinkListener

public void addHyperlinkListener(HyperlinkListener listener)
Adds a hyperlink listener for notification of any changes, for example when a link is selected and entered.

Parameters:
listener - the listener

removeHyperlinkListener

public void removeHyperlinkListener(HyperlinkListener listener)
Removes a hyperlink listener.

Parameters:
listener - the listener

getHyperlinkListeners

public HyperlinkListener[] getHyperlinkListeners()
Returns an array of all the HyperLinkListeners 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

fireHyperlinkUpdate

public void fireHyperlinkUpdate(HyperlinkEvent e)
Notifies all listeners that have registered interest for notification on this event type. This is normally called by the currently installed EditorKit if 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

public void setPage(java.net.URL page)
             throws java.io.IOException
Sets 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 the scrollToReference method. If the desired URL is not the one currently being displayed, the getStream method 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 the Document is of type AbstractDocument and has a value returned by AbstractDocument.getAsynchronousLoadPriority that 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 an IOException is 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 setDocument which 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 an IOException in 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:
java.io.IOException - for a null or invalid page specification, or exception from the stream being read
See Also:
getPage()

read

public void read(java.io.InputStream in,
                 java.lang.Object desc)
          throws java.io.IOException
This method initializes from a stream.

Parameters:
in - the stream from which to read
desc - an object describing the stream
Throws:
java.io.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)

getStream

protected java.io.InputStream getStream(java.net.URL page)
                                 throws java.io.IOException
Fetches a stream for the given URL, which is about to be loaded by the setPage method. 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 the side effect of establishing the content type, and therefore setting the appropriate EditorKit to 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.StreamDescriptionProperty so that relative URL's can be properly resolved.

Parameters:
page - the URL of the page
Throws:
java.io.IOException

scrollToReference

public void scrollToReference(java.lang.String reference)
Scrolls the view to the given reference location (that is, the value returned by the UL.getRef method for the URL being displayed). The implementation calls the scrollRectToVisible method 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

getPage

public java.net.URL getPage()
Gets the current URL being displayed. If a URL was not specified in the creation of the document, this will return null, and relative URL's will not be resolved.

Returns:
the URL, or null if none

setPage

public void setPage(java.lang.String url)
             throws java.io.IOException
Sets the current URL being displayed.

Parameters:
url - the URL for display
Throws:
java.io.IOException - for a null or invalid URL specification

createDefaultEditorKit

protected EditorKit createDefaultEditorKit()
Creates the default editor kit (PlainEditorKit) for when the component is first created.

Returns:
the editor kit

getEditorKit

public EditorKit getEditorKit()
Fetches the currently installed kit for handling content. createDefaultEditorKit is called to set up a default if necessary.

Returns:
the editor kit

getContentType

public final java.lang.String getContentType()
Gets the type of content that this editor is currently set to deal with. This is defined to be the type associated with the currently installed EditorKit.

Returns:
the content type, null if no editor kit set

setContentType

public final void setContentType(java.lang.String type)
Sets the type of content that this editor handles. This calls getEditorKitForContentType, and then setEditorKit if an editor kit can be successfully located. This is mostly convenience method that can be used as an alternative to calling setEditorKit directly.

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 as text/html; charset=EUC-JP the content will be loaded using the EditorKit registered for text/html and the Reader provided to the EditorKit to load unicode into the document will use the EUC-JP charset for translating to unicode. If the type is not recognized, the content will be loaded using the EditorKit registered for plain text, text/plain.

Parameters:
type - the non-null mime type for the content editing support
Throws:
java.lang.NullPointerException - if the type parameter is null
See Also:
getContentType()

setEditorKit

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. A PropertyChange event ("editorKit") is always fired when setEditorKit is called.

NOTE: This has the side effect of changing the model, because the EditorKit is the source of how a particular type of content is modeled. This method will cause setDocument to be called on behalf of the caller to ensure integrity of the internal state.

Parameters:
kit - the desired editor behavior
See Also:
getEditorKit()

getEditorKitForContentType

public EditorKit getEditorKitForContentType(java.lang.String type)
Fetches 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.

Parameters:
type - the non-null content type
Returns:
the editor kit

setEditorKitForContentType

public void setEditorKitForContentType(java.lang.String type,
                                       EditorKit k)
Directly sets the editor kit to use for the given type. A look-and-feel implementation might use this to install handlers for content types with a look-and-feel bias.

Parameters:
type - the non-null content type
k - the editor kit to be set

replaceSelection

public void replaceSelection(java.lang.String content)
Replaces 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 or null) 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.

This method is thread safe, although most Swing methods are not. Please see Threads and Swing for more information.

Overrides:
replaceSelection in class JTextComponent
Parameters:
content - the content to replace the selection with. This value can be null

getPreferredSize

public Dimension getPreferredSize()
Returns the preferred size for the JEditorPane. The preferred size for JEditorPane is 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:
getPreferredSize in class JComponent
Returns:
a Dimension containing the preferred size
See Also:
JComponent.setPreferredSize(java.awt.Dimension), ComponentUI

setText

public void setText(java.lang.String t)
Sets the text of this TextComponent to 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 to text/html the 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 existing Document with the new one. You are then assured the previous Document won't have any lingering state.

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

This method is thread safe, although most Swing methods are not. Please see Threads and Swing for more information.

Overrides:
setText in class JTextComponent
Parameters:
t - the new text to be set
See Also:
getText()

getText

public java.lang.String getText()
Returns the text contained in this TextComponent in terms of the content type of this editor. If an exception is thrown while attempting to retrieve the text, null will be returned. This is implemented to call JTextComponent.write with a StringWriter.

Overrides:
getText in class JTextComponent
Returns:
the text
See Also:
setText(java.lang.String)

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
Returns true if a viewport should always force the width of this Scrollable to match the width of the viewport.

Specified by:
getScrollableTracksViewportWidth in interface Scrollable
Overrides:
getScrollableTracksViewportWidth in class JTextComponent
Returns:
true if a viewport should force the Scrollables width to match its own, false otherwise

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
Returns true if a viewport should always force the height of this Scrollable to match the height of the viewport.

Specified by:
getScrollableTracksViewportHeight in interface Scrollable
Overrides:
getScrollableTracksViewportHeight in class JTextComponent
Returns:
true if a viewport should force the Scrollable's height to match its own, false otherwise

paramString

protected java.lang.String paramString()
Returns a string representation of this JEditorPane. 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 be null.

Overrides:
paramString in class JTextComponent
Returns:
a string representation of this JEditorPane

paintComponent

protected final void paintComponent(java.awt.Graphics g)
Description copied from class: JComponent
Calls the UI delegate's paint method, if the UI delegate is non-null. We pass the delegate a copy of the Graphics object to protect the rest of the paint code from irrevocable changes (for example, Graphics.translate).

Overrides:
paintComponent in class JComponent
Parameters:
g - the Graphics object to protect
See Also:
JComponent.paint(java.awt.Graphics), ComponentUI

paintBorder

protected final void paintBorder(java.awt.Graphics g)
Description copied from class: JComponent
Paints the component's border.

Overrides:
paintBorder in class JComponent
Parameters:
g - the Graphics context in which to paint
See Also:
JComponent.paint(java.awt.Graphics), JComponent.setBorder(javax.swing.border.Border)

paintComponents

public final void paintComponents(java.awt.Graphics g)

paint

public final void paint(java.awt.Graphics g)
Description copied from class: JComponent
Invoked by Swing to draw components. Applications should not invoke paint directly, but should instead use the repaint method to schedule the component for redrawing.

This method actually delegates the work of painting to three protected methods: paintComponent, paintBorder, and paintChildren. They're called in the order listed to ensure that children appear on top of component itself. Generally speaking, the component and its children should not paint in the insets area allocated to the border. Subclasses can just override this method, as always.

Overrides:
paint in class JComponent
Parameters:
g - the Graphics context in which to paint
See Also:
JComponent.paintBorder(java.awt.Graphics), JComponent.paintChildren(java.awt.Graphics), JComponent.getComponentGraphics(java.awt.Graphics), JComponent.repaint(long, int, int, int, int)

printComponent

protected final void printComponent(java.awt.Graphics g)
Description copied from class: JComponent
This is invoked during a printing operation. This is implemented to invoke paintComponent on the component.

Overrides:
printComponent in class JComponent
Parameters:
g - the Graphics context in which to paint
See Also:
JComponent.print(java.awt.Graphics)

printBorder

protected final void printBorder(java.awt.Graphics g)
Description copied from class: JComponent
Prints the component's border. This is implemented to invoke paintBorder on the component.

Overrides:
printBorder in class JComponent
Parameters:
g - the Graphics context in which to paint
See Also:
JComponent.print(java.awt.Graphics)

printComponents

public final void printComponents(java.awt.Graphics g)

JSR-209 (Final Release)

Java and Java 2D are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Copyright 1993 - 2006 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All Rights Reserved.
Use of this specification is subject to this license.