JFormattedTextField ist ein editierbares Textfeld, mit dem Sie ein
Feldmodell, das ein Formatierungsprogramm, ein Prüfprogramm, ein
Prüfprogramm für den Tastenanschlag und Datenattribute angibt, definieren können.
Standardmäßig verwendet JFormattedTextField ein AS400FieldModel,
das wiederum mit EditcodeEditwordFormatter, ComparisonRangeValidator und NumericCharacterDocument arbeitet.
Der Standarddatentyp ist 'Zeichen', die Datenlänge beträgt 10 und die
Anzahl der Dezimalstellen ist 0.
JFormattedTextField zeigt das gleiche Verhalten wie ein
Swing-JTextField, verfügt aber darüber hinaus über folgende Features:
- Sie können die Daten auf 'numerisch' oder 'Zeichen' beschränken.
Wenn das Feld auf 'numerisch' gesetzt ist, können Sie nur Numerale, Dezimalzeichen sowie
Plus- und Minuszeichen eingeben.
Wenn es sich bei dem Feld um ein Zeichenfeld handelt, bestehen für
die Eingabe keine Einschränkungen.
- Sie können die Daten auf einen bestimmten Zeichensatz
beschränken, beispielsweise auf 'nur alphanumerisch' oder 'nur Großschreibung'.
- Sie können die Datenlänge auf ein von Ihnen vorgegebenes Maximum beschränken.
Wenn es sich um ein numerisches Feld handelt, können Sie die Anzahl
der signifikanten Ziffern und Dezimalstellen angeben.
- Sie können ein Währungssymbol, ein Dezimalzeichen und ein Tausendertrennzeichen angeben.
Als Standardwerte für das Dezimalzeichen und das Tausendertrennzeichen werden die
Werte der Ländereinstellung verwendet.
- Sie können das Feld automatisch formatieren.
Wenn die Markierung für autoAdvance auf 'wahr' gesetzt ist und Sie dieselbe Anzahl
Zeichen wie die Datenlänge eingeben, formatiert die Bean das Feld, führt die
entsprechende Gültigkeitsprüfung aus und übergibt die Steuerung an die nächste
Komponente, ohne den Tab-Schlüssel anzufordern.
- Sie können eine Gültigkeitsprüfung ausführen.
Die Vergleichsarten sind 'gleich', 'ungleich', 'kleiner als', 'größer
als', 'nicht kleiner als', 'nicht größer als', 'kleiner-gleich' und 'größer-gleich'.
Wird beispielsweise 'ist gleich' mit dem Vergleichswert ABC angegeben, akzeptiert das
Feld nur die Daten ABC.
- Sie können eine Bereichsprüfung ausführen.
Wenn das Merkmal für den Mindestbereich beispielsweise auf 100 und
das Merkmal für den Maximalbereich auf 500 gesetzt ist, werden nur
die Werte akzeptiert, die innerhalb dieses Bereichs liegen.
Weitere Informationen zur Swing-Architektur stehen auf folgender
Website zur Verfügung:
http://java.sun.com/products/jfc/tsc/articles/architecture/index.html