de.jsystems.framework.swing
Class LongDocument

java.lang.Object
  extended byjavax.swing.text.AbstractDocument
      extended byjavax.swing.text.PlainDocument
          extended byde.jsystems.framework.swing.LongDocument
All Implemented Interfaces:
Document, Serializable

class LongDocument
extends PlainDocument

Document fuer das NumberField. Das Dokument fuer das Eingabefeld laesst nur Zahlen als Eingabe zu. Buchstaben oder Sonderzeichen sind nicht erlaubt. Der erlaubte Zahlenbereich entspricht dabei dem Wertebereich des Typ Long.

Version:
1.0
Copyright by Jens Homm 2000 - 2004
Author:
Jens Homm JSYSTEMS

Nested Class Summary
 
Nested classes inherited from class javax.swing.text.AbstractDocument
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, 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
LongDocument(NumberField textfield)
          Erzeugt ein neues Document fuer die uebergebene Textkomponente.
 
Method Summary
 void insertString(int offset, String s, AttributeSet attributeSet)
          Prueft jedes eingegebene Zeichen, ob der uebergebene Text zulaessig ist fuer eine Ganzzahl.
 void remove(int offs, int len)
          Diese Methode wird aufgerufen wenn ein Zeichen im Textfeld geloescht werden soll.
 
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, 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

LongDocument

public LongDocument(NumberField textfield)
Erzeugt ein neues Document fuer die uebergebene Textkomponente. Die Textkomponente muss hier uebergeben werden, damit eventuell gesetzte Formatierungsangaben wie zum Beispiel Tausendertrennzeichen nicht mit der Eingabe in der Oberflaeche ueberschrieben werden koennen. Sobald ein '-' als Vorzeichen gesetzt ist wird die Zahl in rot angezeigt.

Parameters:
textfield - Die Textkomponente deren Eingaben hier ueberwacht werden.
Method Detail

insertString

public void insertString(int offset,
                         String s,
                         AttributeSet attributeSet)
                  throws BadLocationException
Prueft jedes eingegebene Zeichen, ob der uebergebene Text zulaessig ist fuer eine Ganzzahl. Zusaetzlich wird hier auch geprueft, ob der Wertbereich fuer Integer mit der Eingabe nicht ueber- oder unterschritten wurde. Als Sonderzeichen ist nur '-' erlaubt und das auch nur dann, wenn es das erste Zeichen in der Eingabe ist(offset == 0).

Parameters:
offset - Die Position, an der das Zeichen eigefuegt werden soll.
s - Das einzufuegende Zeichen.
attributeSet - AttributSet zum bearbeiten des einzufuegenden Elements.
Throws:
BadLocationException - wenn ein ungueltiger offset uebergeben wird.

remove

public void remove(int offs,
                   int len)
            throws BadLocationException
Diese Methode wird aufgerufen wenn ein Zeichen im Textfeld geloescht werden soll. Hier wird geprueft, ob es sich dabei um das Vorzeichen handelt. Wenn ja, wird die Textfarbe wieder auf Schwarz geschaltet.

Parameters:
offs - Die Stelle ab der geloescht werden soll im Document.
len - Die Anzahl Zeichen die geloescht werden sollen.
Throws:
BadLocationException