JavaFX:显示文本而不是 boolean 值(true/false)

标签 java javafx tableview

我在JavaFX中使用tableview显示List<Contact> .

对于 Controller 的初始化功能, TableView 列绑定(bind)到 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

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 class documentation有关单元格渲染机制的一般信息。

关于JavaFX:显示文本而不是 boolean 值(true/false),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40090540/

相关文章:

c# - 如何分析程序内部的.exe参数?

java - Whitelabel 错误页面 Spring boot 和 AWS RDS

ios - UICollectionView reloadData - EXC_BREAKPOINT

ios - 如何在呈现单元格后检查表格 View 上的复选标记图标(附件 View )?

java - 我怎么知道套接字发送的对象类型?

css - 动态对象的 JavaFX 文本样式

java - 如何将操作监听器添加到平铺 Pane 中的各个元素

JavaFX ListView 被 TextArea 使用 GridPane 覆盖

swift - 快速查看单选按钮和复选框的多个部分按钮操作

java - 如何查看 Eclipse Java SDK 示例的源代码