groovy.ui.text
Class TextEditor

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
                      extended by javax.swing.JTextPane
                          extended by groovy.ui.text.TextEditor
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Pageable, java.awt.print.Printable, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable

public class TextEditor
extends javax.swing.JTextPane
implements java.awt.print.Pageable, java.awt.print.Printable

A simple text pane that is printable and wrapping is optional.

Author:
Evan "Hippy" Slatis
See Also:
Serialized Form

Nested Class Summary
private  class TextEditor.FindAction
           
private  class TextEditor.OvertypeCaret
          Paint a horizontal line the width of a column and 1 pixel high
private  class TextEditor.ReplaceAction
           
private  class TextEditor.ShiftTabAction
           
private  class TextEditor.TabAction
           
 
Nested classes/interfaces inherited from class javax.swing.JEditorPane
javax.swing.JEditorPane.AccessibleJEditorPane, javax.swing.JEditorPane.AccessibleJEditorPaneHTML, javax.swing.JEditorPane.JEditorPaneAccessibleHypertextSupport
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.text.Caret defaultCaret
           
static java.lang.String FIND
           
static java.lang.String FIND_NEXT
           
static java.lang.String FIND_PREVIOUS
           
private static boolean isOvertypeMode
           
private  int lastUpdate
           
private static java.util.regex.Pattern LINE_START
           
private  java.awt.event.MouseAdapter mouseAdapter
           
private  boolean multiLineTab
           
private  int numPages
           
private  javax.swing.text.Caret overtypeCaret
           
private static java.awt.print.PageFormat PAGE_FORMAT
           
private static javax.swing.JTextPane PRINT_PANE
           
private static java.awt.Dimension PRINT_SIZE
           
static java.lang.String REPLACE
           
private  boolean searchable
           
private static java.util.regex.Pattern TAB_BACK_PATTERN
           
private static java.lang.String TABBED_SPACES
           
private  boolean tabsAsSpaces
           
private static java.awt.Toolkit toolkit
           
private  boolean unwrapped
           
 
Fields inherited from class javax.swing.JEditorPane
HONOR_DISPLAY_PROPERTIES, W3C_LENGTH_UNITS
 
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.print.Pageable
UNKNOWN_NUMBER_OF_PAGES
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TextEditor()
          Creates a new instance of TextEditor
TextEditor(boolean tabsAsSpaces)
          Creates a new instance of TextEditor
TextEditor(boolean tabsAsSpaces, boolean multiLineTab)
          Creates a new instance of TextEditor
TextEditor(boolean tabsAsSpaces, boolean multiLineTab, boolean unwrapped)
          Creates a new instance of TextEditor
 
Method Summary
 void addNotify()
           
 int getNumberOfPages()
           
 java.awt.print.PageFormat getPageFormat(int pageIndex)
           
 java.awt.print.Printable getPrintable(int param)
           
 boolean getScrollableTracksViewportWidth()
           
 boolean isMultiLineTabbed()
           
 void isMultiLineTabbed(boolean multiLineTab)
           
static boolean isOvertypeMode()
           
 boolean isTabsAsSpaces()
           
 void isTabsAsSpaces(boolean tabsAsSpaces)
           
 boolean isUnwrapped()
           
 int print(java.awt.Graphics graphics, java.awt.print.PageFormat pageFormat, int page)
           
protected  void processKeyEvent(java.awt.event.KeyEvent e)
           
 void removeNotify()
           
 void replaceSelection(java.lang.String text)
           
 void setBounds(int x, int y, int width, int height)
           
 void setOvertypeMode(boolean isOvertypeMode)
          Set the caret to use depending on overtype/insert mode
 void setUnwrapped(boolean unwrapped)
           
 
Methods inherited from class javax.swing.JTextPane
addStyle, createDefaultEditorKit, getCharacterAttributes, getInputAttributes, getLogicalStyle, getParagraphAttributes, getStyle, getStyledDocument, getStyledEditorKit, getUIClassID, insertComponent, insertIcon, paramString, removeStyle, setCharacterAttributes, setDocument, setEditorKit, setLogicalStyle, setParagraphAttributes, setStyledDocument
 
Methods inherited from class javax.swing.JEditorPane
addHyperlinkListener, createEditorKitForContentType, fireHyperlinkUpdate, getAccessibleContext, getContentType, getEditorKit, getEditorKitClassNameForContentType, getEditorKitForContentType, getHyperlinkListeners, getPage, getPreferredSize, getScrollableTracksViewportHeight, getStream, getText, read, registerEditorKitForContentType, registerEditorKitForContentType, removeHyperlinkListener, scrollToReference, setContentType, setEditorKitForContentType, setPage, setPage, setText
 
Methods inherited from class javax.swing.text.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, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, 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, 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, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, 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, 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, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, 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
 

Field Detail

FIND

public static final java.lang.String FIND
See Also:
Constant Field Values

FIND_NEXT

public static final java.lang.String FIND_NEXT
See Also:
Constant Field Values

FIND_PREVIOUS

public static final java.lang.String FIND_PREVIOUS
See Also:
Constant Field Values

REPLACE

public static final java.lang.String REPLACE
See Also:
Constant Field Values

TABBED_SPACES

private static final java.lang.String TABBED_SPACES
See Also:
Constant Field Values

TAB_BACK_PATTERN

private static final java.util.regex.Pattern TAB_BACK_PATTERN

LINE_START

private static final java.util.regex.Pattern LINE_START

PRINT_PANE

private static final javax.swing.JTextPane PRINT_PANE

PRINT_SIZE

private static final java.awt.Dimension PRINT_SIZE

toolkit

private static java.awt.Toolkit toolkit

isOvertypeMode

private static boolean isOvertypeMode

defaultCaret

private javax.swing.text.Caret defaultCaret

overtypeCaret

private javax.swing.text.Caret overtypeCaret

PAGE_FORMAT

private static final java.awt.print.PageFormat PAGE_FORMAT

numPages

private int numPages

lastUpdate

private int lastUpdate

mouseAdapter

private java.awt.event.MouseAdapter mouseAdapter

unwrapped

private boolean unwrapped

tabsAsSpaces

private boolean tabsAsSpaces

multiLineTab

private boolean multiLineTab

searchable

private boolean searchable
Constructor Detail

TextEditor

public TextEditor()
Creates a new instance of TextEditor


TextEditor

public TextEditor(boolean tabsAsSpaces)
Creates a new instance of TextEditor


TextEditor

public TextEditor(boolean tabsAsSpaces,
                  boolean multiLineTab)
Creates a new instance of TextEditor


TextEditor

public TextEditor(boolean tabsAsSpaces,
                  boolean multiLineTab,
                  boolean unwrapped)
Creates a new instance of TextEditor

Method Detail

addNotify

public void addNotify()
Overrides:
addNotify in class javax.swing.JComponent

getNumberOfPages

public int getNumberOfPages()
Specified by:
getNumberOfPages in interface java.awt.print.Pageable

getPageFormat

public java.awt.print.PageFormat getPageFormat(int pageIndex)
                                        throws java.lang.IndexOutOfBoundsException
Specified by:
getPageFormat in interface java.awt.print.Pageable
Throws:
java.lang.IndexOutOfBoundsException

getPrintable

public java.awt.print.Printable getPrintable(int param)
                                      throws java.lang.IndexOutOfBoundsException
Specified by:
getPrintable in interface java.awt.print.Pageable
Throws:
java.lang.IndexOutOfBoundsException

print

public int print(java.awt.Graphics graphics,
                 java.awt.print.PageFormat pageFormat,
                 int page)
          throws java.awt.print.PrinterException
Specified by:
print in interface java.awt.print.Printable
Throws:
java.awt.print.PrinterException

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
Specified by:
getScrollableTracksViewportWidth in interface javax.swing.Scrollable
Overrides:
getScrollableTracksViewportWidth in class javax.swing.JEditorPane

isMultiLineTabbed

public boolean isMultiLineTabbed()

isOvertypeMode

public static boolean isOvertypeMode()

isTabsAsSpaces

public boolean isTabsAsSpaces()

isUnwrapped

public boolean isUnwrapped()

processKeyEvent

protected void processKeyEvent(java.awt.event.KeyEvent e)
Overrides:
processKeyEvent in class javax.swing.JComponent

removeNotify

public void removeNotify()
Overrides:
removeNotify in class javax.swing.text.JTextComponent

replaceSelection

public void replaceSelection(java.lang.String text)
Overrides:
replaceSelection in class javax.swing.JTextPane

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)
Overrides:
setBounds in class java.awt.Component

isMultiLineTabbed

public void isMultiLineTabbed(boolean multiLineTab)
Parameters:
multiLineTab -

isTabsAsSpaces

public void isTabsAsSpaces(boolean tabsAsSpaces)
Parameters:
tabsAsSpaces -

setOvertypeMode

public void setOvertypeMode(boolean isOvertypeMode)
Set the caret to use depending on overtype/insert mode

Parameters:
isOvertypeMode -

setUnwrapped

public void setUnwrapped(boolean unwrapped)
Parameters:
unwrapped -


Copyright © ${year} The Codehaus. All Rights Reserved.