javax.swing

Class JEditorPane

Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, Scrollable, Serializable
Known Direct 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

TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, accessibleContext, listenerList, ui

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()
String
getUIClassID()
boolean
isFocusCycleRoot()
protected String
paramString()
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, getAccessibleContext, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodListeners, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, getUIClassID, isEditable, loadKeymap, modelToView, moveCaretPosition, paramString, paste, read, removeCaretListener, removeInputMethodListener, removeKeymap, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write

Methods inherited from class javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI

Methods inherited from class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, extends EventListener> T[] getListeners, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponentZOrder, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree

Methods inherited from class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFocusable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFocusable, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

JEditorPane

public JEditorPane()

JEditorPane

public JEditorPane(String url)
            throws IOException

JEditorPane

public JEditorPane(String type,
                   String text)

JEditorPane

public JEditorPane(URL url)
            throws IOException

Method Details

addHyperlinkListener

public void addHyperlinkListener(HyperlinkListener listener)
Add a HyperlinkListener object to this editor pane.
Parameters:
listener - the listener to add

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

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

getHyperlinkListeners

public HyperlinkListener[] getHyperlinkListeners()
Returns all added HyperlinkListener objects.
Returns:
array of listeners
Since:
1.4

getPage

public URL getPage()

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 interface JComponent
Returns:
the preferred size for the JEditorPane

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 interface 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 interface JTextComponent
Returns:
true when a Viewport should force the width of this component to match the viewport width

getStream

protected InputStream getStream(URL page)
            throws IOException

getText

public String getText()
Overrides:
getText in interface JTextComponent

getUIClassID

public String getUIClassID()
Overrides:
getUIClassID in interface JTextComponent

isFocusCycleRoot

public boolean isFocusCycleRoot()
Overrides:
isFocusCycleRoot in interface Container

paramString

protected String paramString()
Overrides:
paramString in interface JTextComponent

read

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

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.

removeHyperlinkListener

public void removeHyperlinkListener(HyperlinkListener listener)
Removes a HyperlinkListener object to this editor pane.
Parameters:
listener - the listener to remove

replaceSelection

public void replaceSelection(String content)
Replaces the currently selected content with new content represented by the given string.
Overrides:
replaceSelection in interface 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.

setPage

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

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 interface JTextComponent
Parameters:
t - the text to display in this JEditorPane

JEditorPane.java -- Copyright (C) 2002, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.