## visad.util
Class TextFrame

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  java.awt.Frame
                      javax.swing.JFrame
                          visad.util.GUIFrame
                              visad.util.TextFrame

All Implemented Interfaces:
  Accessible, ActionListener, EventListener, ImageObserver, MenuContainer, RootPaneContainer, Serializable, UndoableEditListener, WindowConstants

Direct Known Subclasses:
  CodeFrame

public class TextFrame
extends GUIFrame
implements UndoableEditListener

A GUI frame for editing text files.

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JFrame
`JFrame.AccessibleJFrame`

Nested classes inherited from class java.awt.Frame
`Frame.AccessibleAWTFrame`

Nested classes inherited from class java.awt.Window
`Window.AccessibleAWTWindow`

Nested classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy`

Field Summary
`protected TextEditor` `textPane` main frame component

Fields inherited from class visad.util.GUIFrame
`hash, heavy, menubar`

Fields inherited from class javax.swing.JFrame
`accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled`

Fields inherited from class java.awt.Frame
`CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR`

Fields inherited from class java.awt.Window
``

Fields inherited from class java.awt.Container
``

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface javax.swing.WindowConstants
`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`TextFrame()` constructs a TextFrame
`TextFrame(String filename)` constructs a TextFrame containing text from the given filename
`TextFrame(TextEditor textEdit)` constructs a TextFrame from the given TextEditor object

Method Summary
`protected boolean` `askSaveChanges(boolean allowCancel)` prompts user to save the document before it is discarded
`void` `editCopy()`
`void` `editCut()`
`void` `editPaste()`
`void` `editRedo()`
`void` `editUndo()`
`void` `fileExit()`
`void` `fileNew()`
`void` `fileOpen()`
`boolean` `fileSave()`
`boolean` `fileSaveAs()`
`TextEditor` `getTextPane()` returns the main text editor pane
`String` `getTitle()` gets the text editor's title bar text
`protected void` `layoutGUI()` sets up the GUI
`static void` `main(String[] args)` tests the TextFrame class
`void` `setTitle(String title)` sets the text editor's title bar text
`void` `showError(String msg)` displays an error message in an error box
`void` `undoableEditHappened(UndoableEditEvent e)` updates menu items when undoable action occurs

Methods inherited from class visad.util.GUIFrame
`actionPerformed, addMenuItem, addMenuItem, addMenuItem, addMenuSeparator, addSubMenu, addSubMenu, addSubMenu, getMenu, getMenuItem`

Methods inherited from class javax.swing.JFrame

`addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update`

Methods inherited from class java.awt.Frame
`addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setUndecorated`

Methods inherited from class java.awt.Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.awt.MenuContainer
`getFont, postEvent`

Field Detail

### textPane

    protected TextEditor textPane

  main frame component

Constructor Detail

### TextFrame

    public TextFrame()

  constructs a TextFrame

### TextFrame

    public TextFrame(String filename)

  constructs a TextFrame containing text from the given filename

### TextFrame

    public TextFrame(TextEditor textEdit)

  constructs a TextFrame from the given TextEditor object

Method Detail

### layoutGUI

    protected void layoutGUI()

  sets up the GUI

### setTitle

    public void setTitle(String title)

  sets the text editor's title bar text

### getTitle

    public String getTitle()

  gets the text editor's title bar text

### askSaveChanges

    protected boolean askSaveChanges(boolean allowCancel)

  prompts user to save the document before it is discarded

### showError

    public void showError(String msg)

  displays an error message in an error box

### fileNew

    public void fileNew()

### fileOpen

    public void fileOpen()

### fileSave

    public boolean fileSave()

  Returns:
    true if save was successful

### fileSaveAs

    public boolean fileSaveAs()

  Returns:
    true if save was successful

### fileExit

    public void fileExit()

### editUndo

    public void editUndo()

### editRedo

    public void editRedo()

### editCut

    public void editCut()

### editCopy

    public void editCopy()

### editPaste

    public void editPaste()

### undoableEditHappened

    public void undoableEditHappened(UndoableEditEvent e)

  updates menu items when undoable action occurs

  Specified by:
    `undoableEditHappened` in interface `UndoableEditListener`

### getTextPane

    public TextEditor getTextPane()

  returns the main text editor pane

### main

    public static void main(String[] args)

  tests the TextFrame class