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
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.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 |
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.
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