[英]JavaFX: display text instead of boolean value (true/false)
我在JavaFX
使用tableview显示List<Contact>
。
对于控制器的初始化功能,将tableview列绑定到List<Contact>
,如下所示:
sprintName.setCellValueFactory(new PropertyValueFactory<Contact, String>("name"));
importStatus.setCellValueFactory(new PropertyValueFactory<Contact, Boolean>("imported"));
enddate.setCellValueFactory(new PropertyValueFactory<Contact, String>("endDate"));
但是,我想显示imported
的列,而不是显示true/false
imported/new
的文本imported/new
JavaFX
是否可能,或者我必须将imported
的类型更改为String
?
使用单元格工厂(除了单元格值工厂之外):
importStatus.setCellFactory(tc -> new TableCell<Contact, Boolean>() {
@Override
protected void updateItem(Boolean item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? null :
item.booleanValue() ? "imported" : "new");
}
});
有关单元渲染机制的一般信息,请参见Cell
类文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.