Das XdevTextField ist ein einzeiliges Eingabefeld und eines der am häufigsten verwendeten Formular-Komponenten, das via XdevFieldGroup persistiert werden kann.
Wichtige
...
Properties:
Include Page Property TextChangeEventMode Property TextChangeEventMode Include Page Property TextChangeTimeout Property TextChangeTimeout
Wichtige Events:
Misc
valueChange - Wird ausgelöst, wenn der Inhalt verändert wurde, u.a. durch Hinzufügen oder Löschen von Zeichen, jedoch erst wenn die UI-Komponente den Fokus verliert.Include Page textChange - Wird nach einer kurzen Verzögerung ausgelöst, nachdem der Inhalt verändert wurde, u.a. durch Hinzufügen oder Löschen von Zeichen. Bei Properties > Misc > TextChangeEventMode kann der Zeitpunkt wann das Event ausgelöst wird, noch genauer definiert werden.
Event textChange Event textChange Misc
Include Page Event valueChange Event valueChange
Examples:
Inhalt zuweisen - Weist dem XdevTextField einen Text als String zu. Dies kann ggf. ein textChange oder valueChange Event auslösen.
Einfachste Art der Zuweisung meinst nur mit Strings 100% funktional. Diverse Converter liefern mit dieser Methode ein unbefriedigendes ErgebnisCode Block language java theme Confluence textField.setValue("Hello 123 !!!");
Inhalt zuweisen - Weist dem XdevTextField einen speziellen Wert zu. Als Beispiel ein BigDecimal Datentyp für Währungen oder Double für spezielle Formatierungen mit Nachkommastellen etc.
Bei dieser Art der Zuweisung funktionieren die gelieferten Converter optimal.Code Block language java theme Confluence Property<BigDecimal> betrag = new ObjectProperty<BigDecimal>(new BigDecimal(100), BigDecimal.class); textField.setPropertyDataSource(betrag);
oder
Code Block language java theme Confluence Property<Double> betrag = new ObjectProperty<Double>(new Double(100), Double.class); textField.setPropertyDataSource(betrag);
Inhalt ändern - Wurde dem Textfield bereits eine Property zugewiesen (siehe Beispiel 2.) so kann mit dieser Kurzschreibweise der Wert in der Property direkt geändert werden ohne eine neue Datasource zu setzen.
Code Block language java theme Confluence textField.setConvertedValue(200);
Inhalt auslesen
Code Block language java theme Confluence String content = textField.getValue();
Inhalt löschen - Löscht den gesamten Text im XdevTextField. Dies kann ggf. ein textChange oder valueChange Event auslösen.
Code Block language java theme Confluence textField.clear();
Cursor setzen - Setzt den Cursor an eine bestimmte Position. Die Position wird als int Wert angegeben.
Code Block language java theme Confluence textField.setCursorPosition(10);
Fokus setzen - Weist dem XdevTextField den Focus zu. Dies kann ggf. ein focus Event auslösen.
Code Block language java theme Confluence textField.focus();
Inhalt selektieren
Code Block language java theme Confluence textField.selectAll();
Prüfen, ob das Feld leer und oder null ist
Code Block language java theme Confluence boolean empty = textField.isEmpty(); if (empty) { doSomething(); }else { doSomething(); }
Prüfen ob sich etwas geändert hat
Code Block language java theme Confluence boolean modified = textField.isModified();
Zur XdevTextField Javadoc
...