gpt4 book ai didi

java - 在 TableView JavaFX 中逐列设置项目

转载 作者:行者123 更新时间:2023-12-01 16:46:42 26 4
gpt4 key购买 nike

我有一个小问题;

我目前有 2 个来自不同对象的列表,我无法更改;

private ObservableList<People1> people1List = FXCollections.observableArrayList();

private ObservableList<People2> people2List = FXCollections.observableArrayList();

当我尝试在表中添加数据时,每列中只有第二个值:

people2List  = FXCollections.observableArrayList(people1.getObservable().values());
peopleTable.setItems(people2List.sorted(new DataValueComparator()));

people1List = FXCollections.observableArrayList(peopl2.getObservable().values());
peopleTable.setItems(people1List.sorted(new DataValueComparator()));

我如何在列上执行“setItems()”?然后列中有 2 个不同的可观察对象?

我知道如果我执行 setItems 两次,它会覆盖第一个,但是列上有 setItems 方法

请提供任何帮助,我们将不胜感激

最佳答案

将两个可观察列表显示到同一个 TableView 中的一种解决方案如下:

  1. 创建一个抽象类型,它可以是抽象类或接口(interface)(例如:Person),应由 Person1 和 Person2 类继承。
  2. 仅创建一个包含 people1List 和 people2List 的 ObservableList。
  3. 当您想要在 TableView 中设置值时,您应该使用 instaceof 来检查 Person 是 instanceof Person1 还是 instanceof Person2 并现在您可以在第一列或第二列中设置人员。

希望这对您有帮助。

关于java - 在 TableView JavaFX 中逐列设置项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174075/

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