试图让listview工作

时间:2017-06-04 12:52:42

标签: java listview javafx

我的问题是如何修复我的ListView,因为它没有显示任何内容

所以在我的主文件中我有

 private ObservableList<Customer> customers = FXCollections.observableArrayList();

添加了两个客户

Customer kelly = addCustomer("95432123", "Kelly Lee");
Customer tim = addCustomer("92345678", "Tim Williams");

我有一个返回ObservableList的方法

public final ObservableList<Customer> getCustomers() {
    return customers;
}

在我的XML文件上我有一个listview通过

链接到控制器
<ListView fx:id="namelistview" layoutX="159.0" layoutY="8.0" prefHeight="200.0" prefWidth="200.0" />

所以我被困在我的控制器上,试图将数据实际打印到ListView中,格式为

Kelly Lee: 95432123

我目前在我的Controller文件中有这个,但我的listview仍然显示为空白

public class PizzeriaController extends Controller<Pizzeria> {
ObservableList<Customer> customers = FXCollections.observableArrayList();

@FXML
private ListView<Customer> namelistview;

public void namelistview() {
    namelistview.setItems(getPizzeria().getCustomers());
    }



public void initialize() {
}

public final Pizzeria getPizzeria() {
    return model;
}
}

1 个答案:

答案 0 :(得分:1)

namelistview.setItems方法需要一个ObservableList作为输入,因此更改:

namelistview.setItems(getPizzeria().getCustomers());

为:

namelistview.setItems(customers);

并将此代码放在initialize方法中:

public void initialize() {
    namelistview.setItems(customers);
}

现在改变:

public void namelistview() {
     namelistview.setItems(getPizzeria().getCustomers());
}

为:

public void namelistview() {
     customers.add(getPizzeria().getCustomers());
}