Das XdevTextArea ist ein mehrzeiliges Eingabefeld. Das XdevTextArea ist eine Formular-Komponente und kann via XdevFieldGroup persistiert werden.
Wichtige Properies:
- Rows - Definiert die Höhe einer Formular-Komponente in Zeilen. Eine Row entspricht ungefähr der Höhe eines Zeichens. Die Einstellung ist nur dann relevant, wenn in der Toolbox > Height?Undefined).
Include Page Property Rows Property Rows Wordwrap - Führt automatisch einen Zeilenumbruch durch. Ohne Zeilenumbruch wird eine horizontale Scrollbar angezeigt.
- TextChangeTimeout - Definiert die Länge der Pause in Millisekunden nach der das Event textChange ausgelöst wird.
Include Page TextChangeEventMode - Legt fest, wann genau das Event textChange ausgelöst wird.
LAZY - Standard-Einstellung. Das Event wird erst ausgelöst, wenn nach der letzten Änderung eine Pause erfolgt. Die Länge der Pause kann bei Properties > Misc > TextChangeTimeout definiert werden.
- EAGER - Das Event wird bei jedem einzelnen Tastendruck ausgelöst.
- TIMEOUT - Das Event wird erst ausgelöst, wenn nach der letzten Änderung eine Pause erfolgt.
Property TextChangeEventMode Property TextChangeEventMode Include Page Property TextChangeTimeout Property TextChangeTimeout
Wichtige Events:
Include Page Event textChange Event textChange Misc
Include Page Event valueChange Event valueChange
Examples:
Inhalt zuweisen - Weist dem XdevTextField einen der XdevTextArea 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 textArea.setValue("Hello 123 !!!");
Inhalt zuweisen - Weist der XdevTextArea 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); textArea.setPropertyDataSource(betrag);
oder
Code Block language java theme Confluence Property<Double> betrag = new ObjectProperty<Double>(new Double(100), Double.class); textArea.setPropertyDataSource(betrag);
Inhalt ändern - Wurde der XdevTextArea 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 textArea.setConvertedValue(200);
Inhalt auslesen
Code Block language java theme Confluence String content = textArea.getValue();
Inhalt löschen - Löscht den gesamten Text im XdevTextArea. Dies kann ggf. ein textChange oder valueChange Event auslösen.
Code Block language java theme Confluence textArea.clear();
Cursor setzen - Setzt den Cursor an eine bestimmte Position. Die Position wird als int Wert angegeben.
Code Block language java theme Confluence textFieldtextArea.setCursorPosition(10);
Fokus setzen - Weist dem XdevTextArea den Focus zu. Dies kann ggf. ein focus Event auslösen.
Code Block language java theme Confluence textArea.focus();
Inhalt selektieren
Code Block language java theme Confluence textArea.selectAll();
...