gpt4 book ai didi

java - TableColumn JavaFX 的 SetPropertyValueFactory

转载 作者:行者123 更新时间:2023-12-01 11:00:31 24 4
gpt4 key购买 nike

假设我有一个名为 Employee 的类。

Employee 有一个 String name、intage 和一个自定义对象 Workstyle ethic。工作样式具有私有(private)字符串样式。

在我们的 GUI 类中,我们创建 TableColumns:

TableColumn<Professional, String> nameColumn = new TableColumn<>("NAME");
nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
//
TableColumn<Employee, Integer> ageColumn = new TableColumn<>("AGE");
nameColumn.setCellValueFactory(new PropertyValueFactory<>("age"));
//

现在我迷路了。我无法做到:

TableColumn<Employee, String> workstyleColumn = new TableColumn<>("WORKSTYLE");
workstyleColumn.setCellValueFactory(new PropertyValueFactory<>("ethic.getStyle()"));

一定有某种方式可以拥有:

TableColumn<Object Being Looked At, Type being put onto the column> columnTitle = new TableColumn<>(
{
// I want to put tons of code here which EVENTUALLY ends with a object of type "Type being put onto the column".
});

感谢您的帮助!

最佳答案

你需要

workstyleColumn.setCellValueFactory(cellData -> 
new ReadOnlyStringWrapper(cellData.getValue().getEthic().getStyle()));

cellValueFactory Callback<TableColumn.CellDataFeatures, ObservableValue> ,即采用 TableColumn.CellDataFeatures 的函数并返回 ObservableValue CellDataFeatures.getValue() 给出该行的值,因此 cellData.getValue().getEthic().getStyle()给出你想要的值。最后你把它包裹在 ReadOnlyStringWrapper 中给出 ObservableValue .

关于java - TableColumn JavaFX 的 SetPropertyValueFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33364808/

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