JavaFX: Binden StringProperty mit konstanter string prefix
Ich habe eine Frage zu den bind-Funktionen in JavaFX. Was ich will ist zum binden 2 string-Eigenschaften. Aber Ihre Werte sollten nicht gleich sein.
Machen wir mal ein Beispiel:
Ich habe eine StringProperty mit stellt die zuletzt geöffneten Projekt in meiner Anwendung.
Der Wert ist wie "C:\temp\myProject.prj".
Ich möchte zeigen, diesen Weg in den Titel meines Fensters.
Es ist ganz einfach: stage.titleProperty().bind(lastprojectProperty());
Aber ich will nicht zu zeigen, nur die Projekt-Pfad sondern auch den Namen der Anwendung,
z.B.:
MyApplication 2.2.4 - C:\temp\myProject.prj.
Ist es möglich, die Bindung und das hinzufügen einer Konstanten prefix-Zeichenfolge? Oder muss ich eine ChangeListerner?
Die Lösung mit dem ChangeListener hat das problem mit dem initial-Werte,...
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());
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie so etwas tun
Ihre Immobilie binden, die mit dem Präfix Sie wollen