title: JavaFX: Bidirectional Binding in FXML
body: <p>I'm working with JavaFX, and am investigating data binding.
  I've found that I can define a one-way binding in my FXML, like this:</p>
  
  <p><code>&lt;TextField fx:id="usernameTextField" text="${controller.userName}" GridPane.columnIndex="1" /&gt;</code></p>
  
  <p>This means, that the text of the usernameTextField is 'observing' the controller.userName property. </p>
  
  <p>But this creates a one-way binding. If the controller.userName property changes, I see the updated text in the text field, that part works. But I can no longer insert text into the text field, because I've made the one-way binding.</p>
  
  <p>All I can find about this are posts which are now more than four years old, but I can't figure out, if JavaFX has been updated to support more elaborate bindings.</p>