Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Das XdevTextField ist ein einzeiliges Eingabefeld und eines der am häufigsten verwendeten Formular-Komponenten, das via XdevFieldGroup persistiert werden kann.  

Wichtige

...

Properties:

...

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

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

Wichtige Properies:

...

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

...

  • Include Page
    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 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 Ergebnis

    Code Block
    languagejava
    themeConfluence
    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
    languagejava
    themeConfluence
    Property<BigDecimal> betrag = new ObjectProperty<BigDecimal>(new BigDecimal(100), BigDecimal.class);
    textField.setPropertyDataSource(betrag);

    oder

    Code Block
    languagejava
    themeConfluence
    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
    languagejava
    themeConfluence
    textField.setConvertedValue(200);
  • Inhalt auslesen 

    Code Block
    languagejava
    themeConfluence
    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
    languagejava
    themeConfluence
    textField.clear();
  • Cursor setzen - Setzt den Cursor an eine bestimmte Position. Die Position wird als int Wert angegeben. 

    Code Block
    languagejava
    themeConfluence
    textField.setCursorPosition(10);
  • Fokus setzen - Weist dem XdevTextField den Focus zu. Dies kann ggf. ein focus Event auslösen.

    Code Block
    languagejava
    themeConfluence
    textField.focus();
  • Inhalt selektieren

    Code Block
    languagejava
    themeConfluence
    textField.selectAll();
  • Prüfen, ob das Feld leer und oder null ist

    Code Block
    languagejava
    themeConfluence
    boolean empty = textField.isEmpty();
    		
    if (empty) {
    	doSomething();
    }else {
    	doSomething();
    }
  • Prüfen ob sich etwas geändert hat

    Code Block
    languagejava
    themeConfluence
    boolean modified = textField.isModified();
Zur XdevTextField Javadoc

...

  • String in Integer umwandeln - Wenn es sich beim Inhalt des XdevTextFields 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.  

    Code Block
    languagejava
    themeConfluence
    String content = textField.getValue();
    Integer value = Integer.parseInt(content);
  • Integer in String umwandeln - Wenn Sie einem XdevTextField eine Ganzzahl zuweisen möchten, müssen Sie diese zuvor in einen String konvertieren, z.B. mit der Methode Integer.toString(Integer i).

    Code Block
    languagejava
    themeConfluence
    Integer value = 100;
    String content = Integer.toString(value);
     
    textField.setValue(content);

...