我的问题是如何修复我的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;
}
}
答案 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());
}