Using_BindingsClass1
  • extField.textProperty().addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) ->
  • StringBinding strBind1= Bindings.selectString(textField.textProperty());
  • //label1.textProperty().bind(textField.textProperty());
    label1.textProperty().bind(strBind1);
    txtArea.textProperty().bind(strBind1);
  • Dynamic binding : When type of the object is determined at run-time, it is known as dynamic binding.
 
Code:

package javafxtemplate1;
//
import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.beans.value.ObservableValue;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.binding.StringBinding;

/**
*
* @author Manas9
*/
public class JavaFXTemplate1 extends Application {
//
final TextArea txtArea = new TextArea();
Label label1 = new Label("Enter your name");
String str1="";
@Override
public void start(Stage primaryStage) throws Exception {
//

Group groot1 = new Group();
Group groot2 = new Group();
//
label1.setLayoutX(10);label1.setLayoutY(20);
TextField textField = new TextField ();
textField .setLayoutX(160);textField .setLayoutY(20);
textField.setPromptText("Enter Your Name");
textField.textProperty().addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) -> {
//throw new UnsupportedOperationException("Not supported yet.");
StringBinding strBind1= Bindings.selectString(textField.textProperty());
//// label1.setText(newValue);
//label1.textProperty().bind(textField.textProperty());
label1.textProperty().bind(strBind1);
txtArea.textProperty().bind(strBind1);
});

//textField.setOnKeyTyped(e -> handlekeyevent(e));
BorderPane bpane = new BorderPane();
groot1.getChildren().addAll(textField,label1);
groot2.getChildren().addAll(txtArea);
bpane.setCenter(groot2);
bpane.setTop(groot1);
//Scene scene = new Scene(groot, 350, 150);
Scene scene = new Scene(bpane, 350, 250);
primaryStage.setScene(scene);
primaryStage.setTitle("ObservableSet:: ChangeListener");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}


}

runtime displays:

This binding is uni-directional and dynamic , start deleting the letters from textfield, you would notice that the same letter was removed from text area