Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA FX ObservableList无法初始化_Java_Javafx_Tableview - Fatal编程技术网

JAVA FX ObservableList无法初始化

JAVA FX ObservableList无法初始化,java,javafx,tableview,Java,Javafx,Tableview,我正在用JavaFX创建一个TableView,我有一个类Phone来表示我的数据,如文档所述。 phone类具有SimpleStringProperty phoneName。 在文档中,它们将类phone设置为static,将属性设置为final。 如果我将类设为静态,则此处不允许使用错误修饰符static 如果我将属性设置为final,我不能创建setter,但在文档中它们会创建setter 在我的应用程序中,当我创建一个手机的可观察列表时,我将数据放入其中,如下所示: private O

我正在用JavaFX创建一个TableView,我有一个类Phone来表示我的数据,如文档所述。 phone类具有SimpleStringProperty phoneName。 在文档中,它们将类phone设置为static,将属性设置为final。 如果我将类设为静态,则此处不允许使用错误修饰符static 如果我将属性设置为final,我不能创建setter,但在文档中它们会创建setter

在我的应用程序中,当我创建一个手机的可观察列表时,我将数据放入其中,如下所示:

 private ObservableList<Phone> phoneList = FXCollections.observableArrayList(          
        new Phone( "iphone" , "ios")  ,
        new Phone("nexus" , "android") 
          );
private observeList phoneList=FXCollections.observearraylist(
新手机(“iphone”、“ios”),
新手机(“nexus”、“android”)
);
我的错误是:无法将字符串转换为SimpleStringProperty

Thx u。并不是说,如果我删除静态关键字和final关键字,并将属性更改为普通字符串,它就可以工作,但是当我想使表可编辑时,我遇到了问题,就像我在这里解释的那样


Thx u guys

歌曲构造器需要如下所示:

public Song(String model,String os){

this.model = new SimpleStringProperty(model);
this.os = new SimpleStringProperty(os);

}

您需要使用字符串创建SimpleStringProperty。

歌曲构造函数需要如下所示:

public Song(String model,String os){

this.model = new SimpleStringProperty(model);
this.os = new SimpleStringProperty(os);

}

您需要使用字符串创建SimpleStringProperty。

我猜您的问题出在
Phone
类的构造函数中。您的构造函数是否遵循此模式
private Person(String fNamel){this.firstName=new SimpleStringProperty(fName);
我猜你的问题出在
Phone
类的构造函数中。你的构造函数遵循这个模式吗?
private Person(String fNamel){this.firstName=new SimpleStringProperty(fName)
Thx u bro,它可以工作,但您能告诉我SimpleStringProperty和普通字符串之间的区别吗?为什么我们在这里使用它?当您使用属性时,如果数据模型中的属性值发生更改,TableView中的项视图将自动更新以匹配更新的数据模型值。如果使用了普通字符串,则sed,TableView不会被刷新,因为它不会意识到值的更改。Thx u bro,它可以工作,但是您能告诉我SimpleStringProperty和普通字符串之间的区别吗?为什么我们在这里使用它?当您使用属性时,如果数据模型中的属性值发生更改,TableView中的项的视图是autom自动更新以匹配更新的数据模型值。如果使用了普通字符串,则不会刷新TableView,因为它不会意识到值的更改。