java - 尝试让 ListView 工作

标签 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 文件上,我有一个通过

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

所以我被困在 Controller 上,试图将数据以表单形式打印到 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;
}
}

最佳答案

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

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

至:

namelistview.setItems(customers);

并将此代码放入初始化方法中:

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

现在更改:

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

至:

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

关于java - 尝试让 ListView 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44354307/

相关文章:

android - ListView 需要 2 个 setSelection 才能滚动到项目

java - FileProvider 在空对象引用上导致 XmlResourceParser 和 ProviderInfo.loadXmlMetaData 崩溃

java - 使用 ThreadLocal 与以 Thread 作为键的 HashMap

java - 如何验证时间戳 (yyyy-MM-dd HH :mm:ss) and (yyyy-MM-dd)

JavaFX IllegalArgumentException

javafx - 网格 Pane : Change grid line color

java - 无法在 IntelliJ Idea IDE 中解析符号 javafx.application

java - 单键多个账户映射

java - Android TextView 和 ListView 中可点击的按钮

java - Android:从mysql检索数据