javax.swing
Class JEditorPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JEditorPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
Direct Known Subclasses:
JTextPane

public class JEditorPane
extends JTextComponent

A powerful text editor component that can handle different types of content. The JEditorPane text component is driven by an instance of EditorKit. The editor kit is responsible for providing a default Document implementation, a mechanism for loading and saving documents of its supported content type and providing a set of Actions for manipulating the content. By default the following content types are supported:

See Also:
Serialized Form

Nested Class Summary
protected  class JEditorPane.AccessibleJEditorPane
          Provides accessibility support for JEditorPane.
protected  class JEditorPane.AccessibleJEditorPaneHTML
          Provides accessibility support for JEditorPanes, when the editor kit is an instance of HTMLEditorKit.
protected  class JEditorPane.JEditorPaneAccessibleHypertextSupport
          This is the accessible text that is returned by JEditorPane.AccessibleJEditorPaneHTML.getAccessibleText().
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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()
           
JEditorPane(String url)
           
JEditorPane(String type, String text)
           
JEditorPane(URL url)
           
 
Method Summary
 void addHyperlinkListener(HyperlinkListener listener)
          Add a HyperlinkListener object to this editor pane.
protected  EditorKit createDefaultEditorKit()
           
static EditorKit createEditorKitForContentType(String type)
          Creates and returns an EditorKit that is appropriate for the given content type.
 void fireHyperlinkUpdate(HyperlinkEvent event)
          Sends a given HyperlinkEvent to all registered listeners.
 AccessibleContext getAccessibleContext()
          Returns the accessible context associated with this editor pane.
 String getContentType()
           
 EditorKit getEditorKit()
          Returns the EditorKit.
static String getEditorKitClassNameForContentType(String type)
          Returns the class name of the EditorKit associated with the given content type.
 EditorKit getEditorKitForContentType(String type)
          Returns the EditorKit to use for the given content type.
 HyperlinkListener[] getHyperlinkListeners()
          Returns all added HyperlinkListener objects.
 URL getPage()
           
 Dimension getPreferredSize()
          Returns the preferred size for the JEditorPane.
 boolean getScrollableTracksViewportHeight()
          Returns true when a Viewport should force the height of this component to match the viewport height.
 boolean getScrollableTracksViewportWidth()
          Returns true when a Viewport should force the width of this component to match the viewport width.
protected  InputStream getStream(URL page)
           
 String getText()
          Retrieves the current text in this text document.
 String getUIClassID()
          Returns a string that specifies the name of the Look and Feel class that renders this component.
 boolean isFocusCycleRoot()
          Check whether this Container is a focus cycle root.
protected  String paramString()
          Returns a string representation of this JTextComponent.
 void read(InputStream in, Object desc)
          This method initializes from a stream.
static void registerEditorKitForContentType(String type, String classname)
          Establishes a binding between type and classname.
static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)
          Establishes the default bindings of type to classname.
 void removeHyperlinkListener(HyperlinkListener listener)
          Removes a HyperlinkListener object to this editor pane.
 void replaceSelection(String content)
          Replaces the currently selected content with new content represented by the given string.
 void scrollToReference(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(String type)
           
 void setEditorKit(EditorKit newValue)
           
 void setEditorKitForContentType(String type, EditorKit k)
          Explicitly sets an EditorKit to be used for the given content type.
 void setPage(String url)
          Sets the current URL being displayed.
 void setPage(URL page)
          Sets the current URL being displayed.
 void setText(String t)
          Sets the text of the JEditorPane.
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodListeners, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, read, removeCaretListener, removeInputMethodListener, removeKeymap, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class 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, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class 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, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JEditorPane

public JEditorPane()

JEditorPane

public JEditorPane(String url)
            throws IOException
Throws:
IOException

JEditorPane

public JEditorPane(String type,
                   String text)

JEditorPane

public JEditorPane(URL url)
            throws IOException
Throws:
IOException
Method Detail

createDefaultEditorKit

protected EditorKit createDefaultEditorKit()

createEditorKitForContentType

public static EditorKit createEditorKitForContentType(String type)
Creates and returns an EditorKit that is appropriate for the given content type. This is created using the default recognized types plus any EditorKit types that have been registered.

Parameters:
type - the content type
Returns:
an EditorKit for use with the given content type
See Also:
registerEditorKitForContentType(String, String), registerEditorKitForContentType(String, String, ClassLoader)

fireHyperlinkUpdate

public void fireHyperlinkUpdate(HyperlinkEvent event)
Sends a given HyperlinkEvent to all registered listeners.

Parameters:
event - the event to send

getAccessibleContext

public AccessibleContext getAccessibleContext()
Returns the accessible context associated with this editor pane.

Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class JTextComponent
Returns:
the accessible context associated with this editor pane

getContentType

public final String getContentType()

getEditorKit

public EditorKit getEditorKit()
Returns the EditorKit. If there is no EditorKit set this method calls createDefaultEditorKit() and setEditorKit() first.


getEditorKitClassNameForContentType

public static String getEditorKitClassNameForContentType(String type)
Returns the class name of the EditorKit associated with the given content type.

Parameters:
type - the content type
Returns:
the class name of the EditorKit associated with this content type
Since:
1.3

getEditorKitForContentType

public EditorKit getEditorKitForContentType(String type)
Returns the EditorKit to use for the given content type. If an EditorKit has been explicitly set via setEditorKitForContentType then it will be returned. Otherwise an attempt will be made to create an EditorKit from the default recognzied content types or any EditorKits that have been registered. If none can be created, a PlainEditorKit is created.

Parameters:
type - the content type
Returns:
an appropriate EditorKit for the given content type
See Also:
registerEditorKitForContentType(String, String), registerEditorKitForContentType(String, String, ClassLoader)

getPreferredSize

public Dimension getPreferredSize()
Returns the preferred size for the JEditorPane. This is implemented to return the super's preferred size, unless one of getScrollableTracksViewportHeight() or getScrollableTracksViewportWidth() returns true, in which case the preferred width and/or height is replaced by the UI's minimum size.

Overrides:
getPreferredSize in class JComponent
Returns:
the preferred size for the JEditorPane
See Also:
Component.setPreferredSize(java.awt.Dimension), Component.getPreferredSize(), Component.isPreferredSizeSet(), ComponentUI.getPreferredSize(JComponent)

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
Returns true when a Viewport should force the height of this component to match the viewport height. This is implemented to return true when the parent is an instance of JViewport and the viewport height > the UI's minimum height.

Specified by:
getScrollableTracksViewportHeight in interface Scrollable
Overrides:
getScrollableTracksViewportHeight in class JTextComponent
Returns:
true when a Viewport should force the height of this component to match the viewport height

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
Returns true when a Viewport should force the width of this component to match the viewport width. This is implemented to return true when the parent is an instance of JViewport and the viewport width > the UI's minimum width.

Specified by:
getScrollableTracksViewportWidth in interface Scrollable
Overrides:
getScrollableTracksViewportWidth in class JTextComponent
Returns:
true when a Viewport should force the width of this component to match the viewport width

getPage

public URL getPage()

getStream

protected InputStream getStream(URL page)
                         throws IOException
Throws:
IOException

getText

public String getText()
Description copied from class: JTextComponent
Retrieves the current text in this text document.

Overrides:
getText in class JTextComponent
Returns:
the text

getUIClassID

public String getUIClassID()
Description copied from class: JTextComponent
Returns a string that specifies the name of the Look and Feel class that renders this component.

Overrides:
getUIClassID in class JTextComponent
Returns:
the string "TextComponentUI"
See Also:
JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

isFocusCycleRoot

public boolean isFocusCycleRoot()
Description copied from class: Container
Check whether this Container is a focus cycle root.

Overrides:
isFocusCycleRoot in class Container
Returns:
true if this is a focus cycle root, false otherwise

paramString

protected String paramString()
Description copied from class: JTextComponent
Returns a string representation of this JTextComponent.

Overrides:
paramString in class JTextComponent
Returns:
A string describing this component.

read

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

Throws:
IOException

registerEditorKitForContentType

public static void registerEditorKitForContentType(String type,
                                                   String classname)
Establishes a binding between type and classname. This enables us to create an EditorKit later for the given content type.

Parameters:
type - the content type
classname - the name of the class that is associated with this content type

registerEditorKitForContentType

public static void registerEditorKitForContentType(String type,
                                                   String classname,
                                                   ClassLoader loader)
Establishes the default bindings of type to classname.


replaceSelection

public void replaceSelection(String content)
Replaces the currently selected content with new content represented by the given string.

Overrides:
replaceSelection in class JTextComponent

scrollToReference

public void scrollToReference(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).


setContentType

public final void setContentType(String type)

setEditorKit

public void setEditorKit(EditorKit newValue)

setEditorKitForContentType

public void setEditorKitForContentType(String type,
                                       EditorKit k)
Explicitly sets an EditorKit to be used for the given content type.

Parameters:
type - the content type
k - the EditorKit to use for the given content type

setPage

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

Throws:
IOException

setPage

public void setPage(URL page)
             throws IOException
Sets the current URL being displayed.

Throws:
IOException

setText

public void setText(String t)
Sets the text of the JEditorPane. The argument t is expected to be in the format of the current EditorKit. This removes the content of the current document and uses the EditorKit to read in the new text. This allows the EditorKit to handle the String rather than just inserting in plain text.

Overrides:
setText in class JTextComponent
Parameters:
t - the text to display in this JEditorPane

addHyperlinkListener

public void addHyperlinkListener(HyperlinkListener listener)
Add a HyperlinkListener object to this editor pane.

Parameters:
listener - the listener to add

removeHyperlinkListener

public void removeHyperlinkListener(HyperlinkListener listener)
Removes a HyperlinkListener object to this editor pane.

Parameters:
listener - the listener to remove

getHyperlinkListeners

public HyperlinkListener[] getHyperlinkListeners()
Returns all added HyperlinkListener objects.

Returns:
array of listeners
Since:
1.4