Class JXEditorPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
javax.swing.JEditorPane
org.jdesktop.swingx.JXEditorPane
- All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable, Targetable
JXEditorPane offers enhanced functionality over the standard
JEditorPane. Unlike its parent, JXEdtiorPane honors display properties by default.
Users can revert to the behavior of JEditorPane by setting the
property to false.
Additional Features
- Improved text editing
- The standard text component commands for cut, copy, and paste used enhanced selection methods. The commands will only be active if there is text to cut or copy selected or valid text in the clipboard to paste.
- Improved HTML editing
-
Using the context-sensitive approach for the standard text commands,
JXEditorPaneprovides HTML editing commands that alter functionality depending on the document state. Currently, the user can quick-format the document with headers (H# tags), paragraphs, and breaks. - Built-in UndoManager
-
Text components provide
UndoableEditEvents.JXEditorPaneplaces those events in anUndoManagerand provides undo/redo commands. Undo and redo are context-sensitive (like the text commands) and will only be active if it is possible to perform the command. - Built-in search
-
Using SwingX search mechanisms,
JXEditorPaneprovides search capabilities, allowing the user to find text within the document.
Example
Creating a JXEditorPane is no different than creating a
JEditorPane. However, the following example demonstrates the best way to
access the improved command functionality.
JXEditorPane editorPane = new JXEditorPane("some URL");
add(editorPane);
JToolBar toolBar = ActionContainerFactory.createToolBar(editorPane.getCommands[]);
toolBar.addSeparator();
toolBar.add(editorPane.getParagraphSelector());
setToolBar(toolBar);
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classA small class which dispatches actions.private classListens to the caret placement and adjusts the editing properties as appropriate.classASearchableimplementation forDocuments.private classA control which should be placed in the toolbar to enable paragraph selection.private classprivate static final classHandles sloppy HTML.private classNested classes/interfaces inherited from class JEditorPane
JEditorPane.AccessibleJEditorPane, JEditorPane.AccessibleJEditorPaneHTML, JEditorPane.JEditorPaneAccessibleHypertextSupportNested classes/interfaces inherited from class JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBindingNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate CaretListenerprivate static final Loggerprivate Searchableprivate JComboBoxprivate TargetableSupportprivate UndoableEditListenerprivate UndoManagerFields inherited from class JEditorPane
HONOR_DISPLAY_PROPERTIES, W3C_LENGTH_UNITSFields inherited from class JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEYFields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newJXEditorPane.JXEditorPane(String url) Creates aJXEditorPanebased on a string containing a URL specification.JXEditorPane(String type, String text) Creates aJXEditorPanethat has been initialized to the given text.JXEditorPane(URL initialPage) Creates aJXEditorPanebased on a specified URL for input. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidApplys the tag to the current selectionbooleanPerform the command using the object value.private voidfind()(package private) CaretListenerObject[]Returns an array of supported commands.Retrieves a component which will be used as the paragraph selector.intgetScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) (package private) UndoableEditListenerbooleanhasCommand(Object command) Return a flag that indicates if a command is supported.private voidinit()protected voidRegister the actions that this class can handle.voidpaste()The paste method has been overloaded to strip off the tags This doesn't really work.voidsetEditorKit(EditorKit kit) Overidden to perform document initialization based on type.voidsetSearchable(Searchable searchable) sets the Searchable for this editor.private voidUpdates the state of the actions in response to an undo/redo operation.Methods inherited from class JEditorPane
addHyperlinkListener, createDefaultEditorKit, createEditorKitForContentType, fireHyperlinkUpdate, getAccessibleContext, getContentType, getEditorKit, getEditorKitClassNameForContentType, getEditorKitForContentType, getHyperlinkListeners, getPage, getPreferredSize, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getStream, getText, getUIClassID, paramString, read, registerEditorKitForContentType, registerEditorKitForContentType, removeHyperlinkListener, replaceSelection, scrollToReference, setContentType, setEditorKitForContentType, setPage, setPage, setTextMethods inherited from class JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, writeMethods inherited from class JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods inherited from class Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
LOG
-
undoHandler
-
undoManager
-
caretHandler
-
selector
-
ACTION_FIND
- See Also:
-
ACTION_UNDO
- See Also:
-
ACTION_REDO
- See Also:
-
ACTION_CUT
- See Also:
-
ACTION_COPY
- See Also:
-
ACTION_PASTE
- See Also:
-
targetSupport
-
searchable
-
-
Constructor Details
-
JXEditorPane
public JXEditorPane()Creates a newJXEditorPane. The document model is set tonull. -
JXEditorPane
Creates aJXEditorPanebased on a string containing a URL specification.- Parameters:
url- the URL- Throws:
IOException- if the URL isnullor cannot be accessed
-
JXEditorPane
Creates aJXEditorPanethat has been initialized to the given text. This is a convenience constructor that calls thesetContentTypeandsetTextmethods.- Parameters:
type- mime type of the given texttext- the text to initialize with; may benull- Throws:
NullPointerException- if thetypeparameter isnull
-
JXEditorPane
Creates aJXEditorPanebased on a specified URL for input.- Parameters:
initialPage- the URL- Throws:
IOException- if the URL isnullor cannot be accessed
-
-
Method Details
-
init
private void init() -
getCaretListener
CaretListener getCaretListener() -
getUndoableEditListener
UndoableEditListener getUndoableEditListener() -
setEditorKit
Overidden to perform document initialization based on type.- Overrides:
setEditorKitin classJEditorPane
-
initActions
protected void initActions()Register the actions that this class can handle. -
updateActionState
private void updateActionState()Updates the state of the actions in response to an undo/redo operation. -
getParagraphSelector
Retrieves a component which will be used as the paragraph selector. This can be placed in the toolbar.Note: This is only valid for the HTMLEditorKit
-
applyTag
Applys the tag to the current selection -
paste
public void paste()The paste method has been overloaded to strip off the tags This doesn't really work.- Overrides:
pastein classJTextComponent
-
find
private void find() -
getSearchable
- Returns:
- a not-null Searchable for this editor.
-
setSearchable
sets the Searchable for this editor. If null, a default searchable will be used.- Parameters:
searchable-
-
hasCommand
Description copied from interface:TargetableReturn a flag that indicates if a command is supported.- Specified by:
hasCommandin interfaceTargetable- Parameters:
command- is a Action.ACTION_COMMAND_KEY- Returns:
- true if command is supported; false otherwise
-
getCommands
Description copied from interface:TargetableReturns an array of supported commands. If this Targetable doesn't support any commands (which is unlikely) then an empty array is returned.- Specified by:
getCommandsin interfaceTargetable- Returns:
- array of supported commands
-
doCommand
Description copied from interface:TargetablePerform the command using the object value.- Specified by:
doCommandin interfaceTargetable- Parameters:
command- is a Action.ACTION_COMMAND_KEYvalue- an arbitrary value. Usually this will be EventObject which trigered the command.
-
getScrollableUnitIncrement
- Specified by:
getScrollableUnitIncrementin interfaceScrollable- Overrides:
getScrollableUnitIncrementin classJTextComponent
-