Class OutputDocument

  extended byjavax.swing.text.AbstractDocument
      extended byjavax.swing.text.PlainDocument
          extended byinteract.OutputDocument
All Implemented Interfaces:

public class OutputDocument
extends javax.swing.text.PlainDocument

This is a Document model used by IOTextArea. It maintains an output position where output should be inserted. The user can type one line ahead at the bottom of the document as output is coming out.

When the user presses return, his input is sent to a Writer.

See Also:
Serialized Form

Nested Class Summary
Nested classes inherited from class javax.swing.text.AbstractDocument
javax.swing.text.AbstractDocument.AbstractElement, javax.swing.text.AbstractDocument.AttributeContext, javax.swing.text.AbstractDocument.BranchElement, javax.swing.text.AbstractDocument.Content, javax.swing.text.AbstractDocument.DefaultDocumentEvent, javax.swing.text.AbstractDocument.ElementEdit, javax.swing.text.AbstractDocument.LeafElement
Field Summary
Fields inherited from class javax.swing.text.PlainDocument
lineLimitAttribute, tabSizeAttribute
Fields inherited from class javax.swing.text.AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
Fields inherited from interface javax.swing.text.Document
StreamDescriptionProperty, TitleProperty
Constructor Summary
Method Summary
 int getOutputOffset()
          Offset in document where next output will go.
 int handleNewline( w, int dot)
          Returns where caret should go.
 void insertOutput(java.lang.String text, javax.swing.text.AttributeSet as)
          Use this to insert text at the output Position.
 void insertString(int offset, java.lang.String text, javax.swing.text.AttributeSet as)
          This is the normal method to insert a string.
Methods inherited from class javax.swing.text.PlainDocument
createDefaultRoot, getDefaultRootElement, getParagraphElement, insertUpdate, removeUpdate
Methods inherited from class javax.swing.text.AbstractDocument
addDocumentListener, addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeDocumentListener, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public OutputDocument()
Method Detail


public int getOutputOffset()
Offset in document where next output will go.


public int handleNewline( w,
                         int dot)
Returns where caret should go.


public void insertString(int offset,
                         java.lang.String text,
                         javax.swing.text.AttributeSet as)
                  throws javax.swing.text.BadLocationException
This is the normal method to insert a string. If the insertion point is the same as the outputPos, the outputPos will move, so we need to make a new one at the old offset.



public void insertOutput(java.lang.String text,
                         javax.swing.text.AttributeSet as)
Use this to insert text at the output Position.