Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jsystems.framework.swing
Class DoubleDocument

    java.lang.Object
      javax.swing.text.AbstractDocument
          javax.swing.text.PlainDocument
              de.jsystems.framework.swing.DoubleDocument

All Implemented Interfaces:
  Document, Serializable

class DoubleDocument
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 Double.

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
`DoubleDocument(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 Fliesskommazahl.
`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

### DoubleDocument

    public DoubleDocument(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.

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 Fliesskommazahl. Zusaetzlich wird hier auch geprueft, ob der Wertbereich fuer Double 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(offset == 0) oder nach dem Zeichen 'e' bzw. 'E' ist. Das Zeichen 'e'` bzw. 'E' ist als Exponententrenner erlaubt, darf aber natuerlich nur einmal eingegeben werden. Sobald ein '-' als Vorzeichen gesetzt ist wird die Zahl in rot angezeigt.

  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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD