作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常简单的模型,由 3 个 StringProperty
组成,我们称它们为 property1
、property2
和 property3
。我在模型中定义了常用的 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 执行任何操作,因为 property1
和 property2
都没有更改。我怎样才能以某种方式强制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/
我是一名优秀的程序员,十分优秀!