2014-01-12 76 views
0

我有一個具有SimpleStringProperty類型的變量的類。當這個類通過使用像這樣的無參數構造函數初始化時:Foo f = new Foo();,那麼SimpleStringProperty變量不會被初始化。因此,我必須像這樣初始化那個實例:Foo f = new Foo(null, null);初始化僅具有屬性類型變量的類的實例。 JavaFX

但是,有沒有其他簡單/乾淨的方法來初始化這些類的實例?我也試圖擴展的類是這樣的:

public class Foo extends StringPropertyBase{//...}

,但仍然沒有參數的構造函數不初始化的變量。

Foo.java

public class Foo{ 
    private SimpleStringProperty x; 
    private SimpleStringProperty y; 

    public Foo(String a, String b){ 
     this.x = new SimpleStringProperty(a); 
     this.x = new SimpleStringProperty(b); 
    } 

    public StringProperty xProperty(){return x;} 
    public StringProperty yProperty(){return y;} 
    //... 
} 

回答

0

你就不能這樣做哪一初始化爲空字符串""

public Foo() { 
    this.x = new SimpleStringProperty(""); 
    this.y = new SimpleStringProperty(""); 
} 

顯然這可以改變,以提供任何理智的默認值,你希望。

的屬性然後可以通過任何綁定到它,或者通過提供setter方法,使財產進行更新,這樣的事情在其他時間改爲:

public void setX(String value) { 
    this.xProperty().set(value); 
} 
+0

謝謝!我應該想到這個.. – Vaib