public class TextEditor
extends javax.swing.JScrollPane
implements javax.swing.event.UndoableEditListener
javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBarjavax.swing.JComponent.AccessibleJComponent| Modifier and Type | Field and Description |
|---|---|
protected boolean |
changed
whether the text has changed since last save
|
protected java.io.File |
currentFile
file being edited
|
static boolean |
DEBUG
debugging flag
|
static java.awt.Font |
MONO
monospaced font
|
protected javax.swing.JTextArea |
text
main text area
|
protected javax.swing.undo.UndoManager |
undo
undo manager
|
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewportaccessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTCOLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT| Constructor and Description |
|---|
TextEditor()
constructs a TextEditor
|
TextEditor(java.lang.String filename)
constructs a TextEditor containing text from the given filename
|
| Modifier and Type | Method and Description |
|---|---|
void |
addUndoableEditListener(javax.swing.event.UndoableEditListener l)
add an undoable edit listener
|
boolean |
canRedo()
returns whether a redo command is possible
|
boolean |
canUndo()
returns whether an undo command is possible
|
void |
copy()
copies the selected text to the clipboard
|
void |
cut()
cuts the selected text to the clipboard
|
protected javax.swing.JFileChooser |
doMakeFileChooser()
Create and initialize the the file chooser
|
java.io.File |
getFile()
returns the file being edited
|
protected javax.swing.JFileChooser |
getFileChooser()
Create if needed and return the file chooser
|
java.lang.String |
getFilename()
returns the filename being edited
|
java.lang.String |
getRedoName()
returns the name of the redo command
|
java.lang.String |
getText()
returns a string containing the text of the document
|
javax.swing.text.JTextComponent |
getTextComponent()
Provide direct access to the text component
|
java.lang.String |
getUndoName()
returns the name of the undo command
|
boolean |
hasChanged()
returns whether the document has changed since the last save
|
void |
insertText(java.lang.String textToInsert)
Insert the given text at the caret
|
void |
newFile()
starts from scratch with a blank document
|
boolean |
openDialog()
pops up a dialog box for the user to select a file to open
|
void |
openFile(java.io.File file)
opens the given file
|
void |
openFile(java.lang.String filename)
opens the given file
|
void |
paste()
pastes the clipboard into the text document
|
void |
redo()
redoes the last undone edit
|
void |
removeUndoableEditListener(javax.swing.event.UndoableEditListener l)
remove an undoable edit listener
|
boolean |
saveDialog()
pops up a dialog box for the user to select a file to save
|
boolean |
saveFile()
saves the file under its current name
|
void |
saveFile(java.io.File file)
saves the given file
|
void |
saveFile(java.lang.String filename)
saves the given file
|
void |
setText(java.lang.String text)
sets the text of this document to the current string
|
void |
undo()
undoes the last edit
|
void |
undoableEditHappened(javax.swing.event.UndoableEditEvent e)
handle undoable edits
|
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUIaddAncestorListener, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateadd, 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, transferFocusDownCycle, validate, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, 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, getInputMethodRequests, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCyclepublic static final java.awt.Font MONO
public static final boolean DEBUG
protected javax.swing.JTextArea text
protected javax.swing.undo.UndoManager undo
protected java.io.File currentFile
protected boolean changed
public TextEditor()
public TextEditor(java.lang.String filename)
protected javax.swing.JFileChooser doMakeFileChooser()
protected javax.swing.JFileChooser getFileChooser()
public void newFile()
public void openFile(java.lang.String filename)
throws java.io.IOException
java.io.IOExceptionpublic void openFile(java.io.File file)
throws java.io.IOException
java.io.IOExceptionpublic void saveFile(java.lang.String filename)
throws java.io.IOException
java.io.IOExceptionpublic void saveFile(java.io.File file)
throws java.io.IOException
java.io.IOExceptionpublic boolean openDialog()
public boolean saveDialog()
public boolean saveFile()
public void undo()
throws javax.swing.undo.CannotUndoException
javax.swing.undo.CannotUndoExceptionpublic void redo()
throws javax.swing.undo.CannotRedoException
javax.swing.undo.CannotRedoExceptionpublic void cut()
public void copy()
public void paste()
public javax.swing.text.JTextComponent getTextComponent()
public java.lang.String getText()
public void setText(java.lang.String text)
public void insertText(java.lang.String textToInsert)
textToInsert - the textpublic java.lang.String getFilename()
public java.io.File getFile()
public boolean canUndo()
public boolean canRedo()
public java.lang.String getUndoName()
public java.lang.String getRedoName()
public boolean hasChanged()
public void undoableEditHappened(javax.swing.event.UndoableEditEvent e)
undoableEditHappened in interface javax.swing.event.UndoableEditListenerpublic void addUndoableEditListener(javax.swing.event.UndoableEditListener l)
public void removeUndoableEditListener(javax.swing.event.UndoableEditListener l)