gpt4 book ai didi

JavaFX:如何使表格单元格取决于另一个表格单元格的值

转载 作者:行者123 更新时间:2023-12-01 11:21:26 25 4
gpt4 key购买 nike

我有一个非常简单的模型,由 3 个 StringProperty 组成,我们称它们为 property1property2property3 。我在模型中定义了常用的 get/set/property 方法。我现在使用 TableView 来显示其中一些属性。 Column模型定义如下

TableColumn<MyModel, String> tableColumn1 = new TableColumn<MyModel, String>("display 1");
TableColumn<MyModel, String> tableColumn2 = new TableColumn<MyModel, String>("display 2");

现在 TableColumn 遵循使用链接到我的模型属性之一的单元格值工厂的模式。

tableColumn1.setCellValueFactory((t)-> {
MyModel myModelValue = ((MyModel)t.getValue());
return myModelValue.getProperty3().equals("something") ? property1():property2();
});

tableColumn2.setCellValueFactory((t)-> property3());

现在的问题如下。如果 property3 在执行过程中的某处发生更改,它将正确触发我的表的第 2 列的更改以及单元格的 UI 更新。但它不会对 column1 执行任何操作,因为 property1property2 都没有更改。我怎样才能以某种方式强制column1更改或偶然监听property3

谢谢

最佳答案

tableColumn1.setCellValueFactory(t -> {
MyModel myModelValue = t.getValue();
return Bindings.when(myModelValue.property3().equals("something"))
.then(myModelValue.property1())
.otherwise(myModelValue.property2());
});

关于JavaFX:如何使表格单元格取决于另一个表格单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31180791/

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