Das XdevTextArea ist ein mehrzeiliges Eingabefeld. Das XdevTextArea ist eine Formular-Komponente und kann via XdevFieldGroup persistiert werden.
Wichtige Properies:
Rows - Defines the height of a form component in rows. A row is roughly equal to the height of a character. This setting is only relevant if Toolbox> Height is set to ? (Undefined) or you are using an AbsoluteLayout.
Wordwrap - Führt automatisch einen Zeilenumbruch durch. Ohne Zeilenumbruch wird eine horizontale Scrollbar angezeigt.
TextChangeEventMode - Determines when exactly the textChange event is triggered.
LAZY - Default setting. The event is triggered only if there is a timeout after the last change. The length of the timeout can be defined in Properties > Misc > TextChangeTimeout.
- EAGER - The event is triggered at each keystroke.
- TIMEOUT - The event is triggered only if there is a timeout after the last change.
TextChangeTimeout - Defines the length of the timeout, after which the textChange event is triggered, in milliseconds.
Wichtige Events:
textChange - Is triggered after a brief delay following changes to the content, for example adding or deleting characters. The exact time at which the event is triggered can be defined under Properties > Misc > TextChangeEventMode.
Misc
valueChange - Is triggered after changes to the content, mainly by adding or deleting characters, however only if the UI component loses the focus.
Examples:
Inhalt zuweisen - Weist 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 ErgebnistextArea.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.Property<BigDecimal> betrag = new ObjectProperty<BigDecimal>(new BigDecimal(100), BigDecimal.class); textArea.setPropertyDataSource(betrag);
oder
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.
textArea.setConvertedValue(200);
Inhalt auslesen
String content = textArea.getValue();
Inhalt löschen - Löscht den gesamten Text im XdevTextArea. Dies kann ggf. ein textChange oder valueChange Event auslösen.
textArea.clear();
Cursor setzen - Setzt den Cursor an eine bestimmte Position. Die Position wird als int Wert angegeben.
textArea.setCursorPosition(10);
Fokus setzen - Weist dem XdevTextArea den Focus zu. Dies kann ggf. ein focus Event auslösen.
textArea.focus();
Inhalt selektieren
textArea.selectAll();
Zur XdevTextArea Javadoc
Tipps:
String in Integer umwandeln - Wenn es sich beim Inhalt des XdevTextArea um eine Ganzzahl handelt mit der Sie weiter rechnen möchten, müssen Sie den String mit der Methode Integer.parseInt(String s) in einen Integer konvertieren. Die Methode nimmt einen String entgegen, der nur Ziffern enthält. Lediglich die Zeichen + und - am Anfang des Wertes sind erlaubt.
String content = textArea.getValue(); Integer value = Integer.parseInt(content);
Integer in String umwandeln - Wenn Sie einem XdevTextArea eine Ganzzahl zuweisen möchten, müssen Sie diese zuvor in einen String konvertieren, z.B. mit der Methode Integer.toString(Integer i).
Integer value = 100; String content = Integer.toString(value); textArea.setValue(content);