JavaFX'deki bağlama işlevine bir sorum var. Benim istediğim 2 dizgi özelliklerini bağlamak. Fakat değerleri eşit olmamalıdır.JavaFX: Sabit String Önekine sahip StringProperty Bağla
en Bana bir örnek yapalım: my uygulamada son açılan projeyi temsil ile
Bir StringProperty var.
Değer "C: \ temp \ myProject.prj" gibidir.
Bu yolu penceremin başlığında göstermek istiyorum. stage.titleProperty().bind(lastprojectProperty());
Ama sadece proje yolunu değil, aynı zamanda uygulamanın adını,
ör .: MyApplication 2.2.4 göstermek istemiyorum - C:
Çok kolay \ temp \ myProject.prj.
Ciltleme ve sabit bir önek dizesi eklemek mümkün mü? Ya da bir ChangeListerner kullanıyorum?
ChangeListener ile çözüm başlangıç değerleriyle sorunu var...
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());
agonist_ çok teşekkür ederim! Sen müthişsin! Bu tam istediğim şeydir! İşe yarıyor! ChangeListener olmadan çok daha kolay. –
Sorun yok, JavaFX bağlantıları gerçekten güçlü, muhtemelen istediğiniz her şeyi yapabilirsiniz –