public class JEditTextArea
extends JComponent
jEdit's text area component. It is more suited for editing program source code than JEditorPane, because it drops the unnecessary features (images, variable-width lines, and so on) and adds a whole bunch of useful goodies such as:
To use it in your app, treat it like any other component, for example:
JEditTextArea ta = new JEditTextArea(); ta.setTokenMarker(new JavaTokenMarker()); ta.setText("public class Test {\n" + " public static void main(String[] args) {\n" + " System.out.println(\"Hello World\");\n" + " }\n" + "}");
Modifier and Type | Field and Description |
---|---|
static String |
LEFT_OF_SCROLLBAR
Adding components with this name to the text area will place
them left of the horizontal scroll bar.
|
static int |
leftHandGutter
The size of the offset between the leftmost padding and the code
|
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
JEditTextArea(TextAreaDefaults defaults,
InputHandler inputHandler)
Creates a new JEditTextArea with the specified settings.
|
Modifier and Type | Method and Description |
---|---|
int |
_offsetToX(int line,
int offset)
Converts an offset in a line into an x coordinate.
|
void |
addCaretListener(CaretListener listener)
Adds a caret change listener to this text area.
|
void |
blinkCaret()
Blinks the caret.
|
void |
copy()
Places the selected text into the clipboard.
|
void |
copyAsHTML()
Copy the current selection as HTML, formerly "Format for Discourse".
|
void |
cut()
Deletes the selected text from the text area and places it
into the clipboard.
|
int |
getBracketLine()
Returns the line of the highlighted bracket (the bracket
matching the one before the caret)
|
int |
getBracketPosition()
Returns the position of the highlighted bracket (the bracket
matching the one before the caret)
|
int |
getCaretLine()
Returns the caret line.
|
int |
getCaretPosition()
Returns the caret position.
|
TextAreaDefaults |
getDefaults() |
SyntaxDocument |
getDocument()
Returns the document this text area is editing.
|
int |
getDocumentLength()
Returns the length of the document.
|
int |
getElectricScroll()
Returns the number of lines from the top and button of the
text area that are always visible.
|
int |
getFirstLine()
Returns the line displayed at the text area's origin.
|
int |
getHorizontalOffset()
Returns the horizontal offset of drawn lines.
|
int |
getHorizontalScrollPosition()
Get current position of the horizontal scroll bar.
|
InputHandler |
getInputHandler()
Returns the input handler.
|
InputMethodRequests |
getInputMethodRequests()
Inline Input Method Support for Japanese.
|
int |
getLastLine()
Convenience for checking what's on-screen.
|
int |
getLineCount()
Returns the number of lines in the document.
|
int |
getLineLength(int line)
Returns the length of the specified line.
|
int |
getLineOfOffset(int offset)
Returns the line containing the specified offset.
|
int |
getLineSelectionStopOffset(int line)
Returns the start offset of the line after this line, or the end of
this line if there is no next line.
|
int |
getLineStartNonWhiteSpaceOffset(int line) |
int |
getLineStartOffset(int line)
Returns the start offset of the specified line.
|
int |
getLineStopNonWhiteSpaceOffset(int line) |
int |
getLineStopOffset(int line)
Returns the end offset of the specified line.
|
String |
getLineText(int lineIndex)
Returns the text on the specified line.
|
void |
getLineText(int lineIndex,
Segment segment)
Copies the text on the specified line into a segment.
|
int |
getMagicCaretPosition()
Returns the 'magic' caret position.
|
int |
getMarkLine()
Returns the mark line.
|
int |
getMarkPosition()
Returns the mark position.
|
TextAreaPainter |
getPainter()
Returns the object responsible for painting this text area.
|
JPopupMenu |
getRightClickPopup()
Returns the right click popup menu.
|
int |
getScrollPosition()
Deprecated.
|
String |
getSelectedText()
Returns the selected text, or null if no selection is active.
|
int |
getSelectionStart()
Returns the selection start offset.
|
int |
getSelectionStart(int line)
Returns the offset where the selection starts on the specified
line.
|
int |
getSelectionStartLine()
Returns the selection start line.
|
int |
getSelectionStop()
Returns the selection end offset.
|
int |
getSelectionStop(int line)
Returns the offset where the selection ends on the specified
line.
|
int |
getSelectionStopLine()
Returns the selection end line.
|
String |
getText()
Returns the entire text of this text area.
|
String |
getText(int start,
int len)
Returns the specified substring of the document.
|
void |
getText(int start,
int len,
Segment segment)
Copies the specified substring of the document into a segment.
|
String |
getTextAsHtml(SyntaxDocument doc)
Guts of copyAsHTML, minus the pre, body, and html blocks surrounding.
|
TokenMarkerState |
getTokenMarker()
Returns the document's token marker.
|
int |
getVerticalScrollPosition()
Get current position of the vertical scroll bar.
|
int |
getVisibleLines()
Returns the number of lines visible in this text area.
|
boolean |
isCaretBlinkEnabled()
Returns true if the caret is blinking, false otherwise.
|
boolean |
isCaretVisible()
Returns true if the caret is visible, false otherwise.
|
boolean |
isEditable()
Returns true if this text area is editable, false otherwise.
|
boolean |
isOverwriteEnabled()
Returns true if overwrite mode is enabled, false otherwise.
|
boolean |
isSelectionActive() |
int |
lineToY(int line)
Converts a line index to a y co-ordinate.
|
int |
offsetToX(int line,
int offset)
Converts an offset in a line into an x co-ordinate.
|
void |
overwriteSetSelectedText(String str)
Similar to
setSelectedText() , but overstrikes the
appropriate number of characters if overwrite mode is enabled. |
void |
paste()
Inserts the clipboard contents into the text.
|
void |
processKeyEvent(KeyEvent event) |
void |
recalculateVisibleLines()
Recalculates the number of visible lines.
|
void |
removeCaretListener(CaretListener listener)
Removes a caret change listener from this text area.
|
void |
removeNotify()
Called by the AWT when this component is removed from it's parent.
|
boolean |
scrollTo(int line,
int offset)
Ensures that the specified line and offset is visible by scrolling
the text area if necessary.
|
boolean |
scrollToCaret()
Ensures that the caret is visible by scrolling the text area if
necessary.
|
void |
select(int start,
int end)
Selects from the start offset to the end offset.
|
void |
selectAll()
Selects all text in the document.
|
void |
selectNone()
Moves the mark to the caret position.
|
void |
setCaretBlinkEnabled(boolean caretBlinks)
Toggles caret blinking.
|
void |
setCaretPosition(int caret)
Sets the caret position.
|
void |
setCaretVisible(boolean caretVisible)
Sets if the caret should be visible.
|
void |
setDocument(SyntaxDocument document)
Sets the document this text area is editing.
|
void |
setDocument(SyntaxDocument document,
int start,
int stop,
int scroll)
Set document with a twist, includes the old caret
and scroll positions, added for p5.
|
void |
setEditable(boolean editable)
Sets if this component is editable.
|
void |
setElectricScroll(int electricScroll)
Sets the number of lines from the top and bottom of the text
area that are always visible
|
void |
setFirstLine(int firstLine)
Sets the line displayed at the text area's origin without
updating the scroll bars.
|
void |
setHorizontalOffset(int horizontalOffset)
Sets the horizontal offset of drawn lines.
|
void |
setHorizontalScrollPosition(int what)
Set position of the horizontal scroll bar.
|
void |
setInputHandler(InputHandler inputHandler)
Sets the input handler.
|
void |
setMagicCaretPosition(int magicCaret)
Sets the 'magic' caret position.
|
boolean |
setOrigin(int firstLine,
int horizontalOffset)
A fast way of changing both the first line and horizontal
offset.
|
void |
setOverwriteEnabled(boolean overwrite)
Sets if overwrite mode should be enabled.
|
void |
setRightClickPopup(JPopupMenu popup)
Sets the right click popup menu.
|
void |
setScrollPosition(int what)
Deprecated.
|
void |
setSelectedText(String selectedText)
Replaces the selection with the specified text.
|
void |
setSelectedText(String selectedText,
boolean recordCompoundEdit)
Replaces the selection with the specified text.
|
void |
setSelectionEnd(int selectionEnd)
Sets the selection end.
|
void |
setSelectionStart(int selectionStart)
Sets the selection start.
|
void |
setText(String text)
Sets the entire text of this text area.
|
void |
setTokenMarker(TokenMarker tokenMarker)
Sets the document's token marker.
|
void |
setVerticalScrollPosition(int what)
Set position of the vertical scroll bar.
|
void |
updateScrollBars()
Updates the state of the scroll bars.
|
int |
xToOffset(int line,
int x)
Converts an x co-ordinate to an offset within a line.
|
int |
xyToOffset(int x,
int y)
Converts a point to an offset, from the start of the text.
|
int |
yToLine(int y)
Converts a y co-ordinate to a line index.
|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, 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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static String LEFT_OF_SCROLLBAR
public static final int leftHandGutter
public JEditTextArea(TextAreaDefaults defaults, InputHandler inputHandler)
defaults
- The default settingspublic InputMethodRequests getInputMethodRequests()
getInputMethodRequests
in class Component
public int getScrollPosition()
getVerticalScrollPosition()
.public void setScrollPosition(int what)
setVerticalScrollPosition(int)
.public int getVerticalScrollPosition()
public void setVerticalScrollPosition(int what)
public int getHorizontalScrollPosition()
public void setHorizontalScrollPosition(int what)
public final TextAreaPainter getPainter()
public TextAreaDefaults getDefaults()
public final InputHandler getInputHandler()
public void setInputHandler(InputHandler inputHandler)
inputHandler
- The new input handlerpublic final boolean isCaretBlinkEnabled()
public void setCaretBlinkEnabled(boolean caretBlinks)
caretBlinks
- True if the caret should blink, false otherwisepublic final boolean isCaretVisible()
public void setCaretVisible(boolean caretVisible)
caretVisible
- True if the caret should be visible, false
otherwisepublic final void blinkCaret()
public final int getElectricScroll()
public final void setElectricScroll(int electricScroll)
electricScroll
- The number of lines always visible from
the top or bottompublic void updateScrollBars()
public final int getFirstLine()
public void setFirstLine(int firstLine)
public final int getLastLine()
public final int getVisibleLines()
public final void recalculateVisibleLines()
public final int getHorizontalOffset()
public void setHorizontalOffset(int horizontalOffset)
horizontalOffset
- offset The new horizontal offsetpublic boolean setOrigin(int firstLine, int horizontalOffset)
firstLine
- The new first linehorizontalOffset
- The new horizontal offsetpublic boolean scrollToCaret()
public boolean scrollTo(int line, int offset)
line
- The line to scroll tooffset
- The offset in the line to scroll topublic int lineToY(int line)
line
- The linepublic int yToLine(int y)
y
- The y co-ordinatepublic final int offsetToX(int line, int offset)
line
- The lineoffset
- The offset, from the start of the linepublic int _offsetToX(int line, int offset)
line
- The lineoffset
- The offset, from the start of the linepublic int xToOffset(int line, int x)
line
- The linex
- The x co-ordinatepublic int xyToOffset(int x, int y)
x
- The x co-ordinate of the pointy
- The y co-ordinate of the pointpublic final SyntaxDocument getDocument()
public void setDocument(SyntaxDocument document)
document
- The documentpublic void setDocument(SyntaxDocument document, int start, int stop, int scroll)
public final TokenMarkerState getTokenMarker()
getDocument().getTokenMarker()
.public final void setTokenMarker(TokenMarker tokenMarker)
getDocument().setTokenMarker()
.tokenMarker
- The token markerpublic final int getDocumentLength()
getDocument().getLength()
.public final int getLineCount()
public final int getLineOfOffset(int offset)
offset
- The offsetpublic int getLineStartOffset(int line)
line
- The linepublic int getLineStartNonWhiteSpaceOffset(int line)
public int getLineStopOffset(int line)
line
- The linepublic int getLineStopNonWhiteSpaceOffset(int line)
public int getLineSelectionStopOffset(int line)
line
- The linepublic int getLineLength(int line)
line
- The linepublic String getText()
public void setText(String text)
public final String getText(int start, int len)
start
- The start offsetlen
- The length of the substringpublic final void getText(int start, int len, Segment segment)
start
- The start offsetlen
- The length of the substringsegment
- The segmentpublic final String getLineText(int lineIndex)
lineIndex
- The linepublic final void getLineText(int lineIndex, Segment segment)
lineIndex
- The linepublic final int getSelectionStart()
public int getSelectionStart(int line)
public final int getSelectionStartLine()
public final void setSelectionStart(int selectionStart)
selectionStart
- The selection startselect(int,int)
public final int getSelectionStop()
public int getSelectionStop(int line)
public final int getSelectionStopLine()
public final void setSelectionEnd(int selectionEnd)
selectionEnd
- The selection endselect(int,int)
public final boolean isSelectionActive()
public final int getCaretPosition()
public final int getCaretLine()
public final int getMarkPosition()
getCaretPosition()
public final int getMarkLine()
public final void setCaretPosition(int caret)
caret
- The caret positionselect(int,int)
public final void selectAll()
public final void selectNone()
public void select(int start, int end)
start
- The start offsetend
- The end offsetpublic final String getSelectedText()
public void setSelectedText(String selectedText)
selectedText
- The replacement text for the selectionpublic void setSelectedText(String selectedText, boolean recordCompoundEdit)
selectedText
- The replacement text for the selectionrecordCompoundEdit
- Whether the replacement should be
recorded as a compound editpublic final boolean isEditable()
public final void setEditable(boolean editable)
editable
- True if this text area should be editable,
false otherwisepublic final JPopupMenu getRightClickPopup()
public final void setRightClickPopup(JPopupMenu popup)
popup
- The popuppublic final int getMagicCaretPosition()
public final void setMagicCaretPosition(int magicCaret)
magicCaret
- The magic caret positionpublic void overwriteSetSelectedText(String str)
setSelectedText()
, but overstrikes the
appropriate number of characters if overwrite mode is enabled.str
- The stringsetSelectedText(String)
,
isOverwriteEnabled()
public final boolean isOverwriteEnabled()
public final void setOverwriteEnabled(boolean overwrite)
overwrite
- True if overwrite mode should be enabled,
false otherwise.public final int getBracketPosition()
public final int getBracketLine()
public final void addCaretListener(CaretListener listener)
listener
- The listenerpublic final void removeCaretListener(CaretListener listener)
listener
- The listenerpublic void cut()
public void copy()
public void copyAsHTML()
public String getTextAsHtml(SyntaxDocument doc)
doc
- If null, read only the selection if any, and use the active
document. Otherwise, the whole of doc is used.public void paste()
public void removeNotify()
removeNotify
in class JComponent
public void processKeyEvent(KeyEvent event)
processKeyEvent
in class JComponent