JavaFX: Bind StringProperty mit konstantem String-Präfix

Ich habe eine Frage zur Bindefunktion in JavaFX. Was ich will, ist, 2 Zeichenketteneigenschaften zu binden. Ihre Werte sollten jedoch nicht gleich sein.

Machen wir mir ein Beispiel:

Ich habe eine StringProperty mit dem zuletzt geöffneten Projekt in meiner Anwendung.
Der Wert lautet "C: \ temp \ myProject.prj".
Ich möchte diesen Pfad im Titel meines Fensters anzeigen.
Es ist einfach:stage.titleProperty().bind(lastprojectProperty());
Ich möchte aber nicht nur den Projektpfad, sondern auch den Anwendungsnamen anzeigen.
z. B .: MyApplication 2.2.4 - C: \ temp \ myProject.prj.

Ist es möglich, die Bindung zu verwenden und einen konstanten Präfix-String hinzuzufügen? Oder muss ich einen ChangeListerner verwenden?

Die Lösung mit dem ChangeListener hat das Problem mit den Anfangswerten ...

    final StringProperty path = new SimpleStringProperty("untitled");
    final StringProperty title = new SimpleStringProperty("App 2.0.0");

    path.addListener(new ChangeListener<String>()
  {
        @Override
        public void changed(ObservableValue<? extends String> ov, String t, String newValue)   
        {
            title.setValue("App 2.0.0 - " + newValue);
        }
  });                

    // My title shows "App 2.0.0" since there is now change event throws until now...
    // Of course I could call path.setValue("untitled"); 
    // And above path = new SimpleStringProperty("");
    System.out.println(title.getValue());

    // Now the title is correct: "App 2.0.0 - C:\temp\myProject.prj"
    path.setValue("C:\\temp\\myProject.prj");
    System.out.println(title.getValue());

Antworten auf die Frage(1)

Ihre Antwort auf die Frage