Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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
Javafx 2 带集合的TableView_Javafx 2 - Fatal编程技术网

Javafx 2 带集合的TableView

Javafx 2 带集合的TableView,javafx-2,Javafx 2,我应该如何处理1列的集合?我试过: private ObservableList<EmailU> emails= FXCollections.observableList(new ArrayList<EmailU>()); public ObservableList<EmailU> emailsProperty() { return emails; } 有什么想法吗?FooProperty方法应该返回属性。这些属性能够将其更改通知其

我应该如何处理1列的集合?我试过:

private ObservableList<EmailU> emails= FXCollections.observableList(new ArrayList<EmailU>());

public ObservableList<EmailU> emailsProperty() {
        return emails;
    }

有什么想法吗?

FooProperty
方法应该返回属性。这些属性能够将其更改通知其他实体,这对于绑定和TableView工作至关重要。在您的情况下,它将是
ListProperty

private ListProperty<EmailU> emails = new SimpleListProperty<>(
                       FXCollections.observableList(new ArrayList<EmailU>()));

public ListProperty<EmailU> emailsProperty() {
    return emails;
}

public ObservableList<EmailU> getEmails() {
    return emailsProperty().get();
}

public void setEmails(ObservableList<EmailU> emails) {
    emailsProperty().set(emails);
}
private ListProperty电子邮件=新的SimpleListProperty(
FXCollections.observableList(newarraylist());
public ListProperty emailsProperty(){
回复邮件;
}
公共可观察列表getEmails(){
返回emailsProperty().get();
}
公开作废邮件(可观察邮件列表){
emailsProperty().set(电子邮件);
}

注意,您需要提供getter和setter来正确处理TableView。

这也帮助我解决了另一个问题(使用Hibernate),谢谢!以下是使其同时适用于Hibernate和属性的更改:
public List getEmails(){return emailsProperty().get();}public void setEmails(List emails){emailsProperty().set(FXCollections.observelist(emails));}public ListProperty emailsProperty(){返回电子邮件;}
SEVERE: javafx.scene.control.Control loadSkinClass Failed to load skin 'StringProperty [bean: TableRow[id=null, styleClass=cell indexed-cell table-row-cell], name: skinClassName, value: com.sun.javafx.scene.control.skin.TableRowSkin]' for control TableRow[id=null, styleClass=cell indexed-cell table-row-cell]
java.lang.RuntimeException: java.lang.ClassCastException: com.sun.javafx.collections.ObservableListWrapper cannot be cast to javafx.beans.property.ReadOnlyProperty*
private ListProperty<EmailU> emails = new SimpleListProperty<>(
                       FXCollections.observableList(new ArrayList<EmailU>()));

public ListProperty<EmailU> emailsProperty() {
    return emails;
}

public ObservableList<EmailU> getEmails() {
    return emailsProperty().get();
}

public void setEmails(ObservableList<EmailU> emails) {
    emailsProperty().set(emails);
}