Bidirektionale JavaFX-Bindung funktioniert nicht, wenn das Steuerelement nicht mehr bearbeitet werden kann

Geben Sie eine sehr elementare Klasse an (Importe, die in Javafx-Pakete aufgelöst wurden):

public class T07 extends Application implements Initializable{

Einige Felder stellen Steuerelemente dar, die in einer .fxml-Datei definiert sind:

@FXML TextField text01;

und ein Datenmodell, das Property-Wrapper auf einfachste Weise verwendet:

public static class DataModel {

    StringProperty first = new SimpleStringProperty();
    //getter
    public String getFirst() {return first.get();}
    //setter
    public void setFirst(String first) {this.first.set(first);}
    //new "property" accessor
    public StringProperty firstProperty() {return first;}

}

Ich versuche, das UI-Steuerelement mit dem Datenmodell in der Initialisierung zu binden:

@Override
public void initialize(URL arg0, ResourceBundle arg1) {

   Bindings.bindBidirectional(text01.textProperty(), dm.firstProperty());

}

aber so zu tun,Ich bekomme ein nicht editierbares Steuerelement. Wenn Sie die Bindings.bindBidirectional-Zeile auskommentieren, kann das Steuerelement normalerweise bearbeitet werden und auf seinen Wert kann über das Feld text01 zugegriffen werden.

Was ist die fehlende Zutat in diesem verbindlichen Rezept?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage