gpt4 book ai didi

JavaFX 应用程序 - 架构问题 - 继承类的不同列表

转载 作者:太空宇宙 更新时间:2023-11-04 13:46:10 25 4
gpt4 key购买 nike

我正在通过本教程学习 JavaFX http://code.makery.ch/library/javafx-8-tutorial/ ,但在我的应用程序中,我制作了登录模块,并希望创建三个不同的 View - 取决于用户的类型:管理员、患者、医生,并且所有这些 View 都继承自 User 类。现在,我创建医生 View 并将患者列表保留在主类中:

private ObservableList<Patient> patientData = FXCollections
.observableArrayList();

public ObservableList<Patient> getPatientData() {
return patientData;
}

public Main() {
patientData.add(new Patient("Hans", "Muster", 23));
}

我不知道下一步该做什么。如果我与用户一起制作一份列表并将其保留为医生、患者和管理员,那么生成正确的 View 将是一个问题,因为例如医生只有患者列表。对我来说另一个大问题是如何将其序列化为 XML。如果我制作三个单独的列表,我认为这不会是“优雅”的方式。

最佳答案

您可以创建一个 ObservableList<User> ,然后使用 FilteredList 填充各种 View 。 .

例如

ObservableList<User> userList = FXCollections.observableArrayList();

// ...

ListView<User> patientView = new ListView<>();
patientView.setItems(new FilteredList<>(userList, Patient.class::isInstance));

如果你想要 ListView<Patient>而不是ListView<User> ,最简单的方法是使用EasyBind图书馆:

ListView<Patient> patientView = new List<View>();
patientView.setItems(EasyBind.map(new FilteredList<>(userList, Patient.class::isInstance),
Patient.class::cast);

关于JavaFX 应用程序 - 架构问题 - 继承类的不同列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30821561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com