string - boolean 值到 TableView JavaFx 中的字符串

标签 string javafx boolean tableview

我试图在表格 View 中将 boolean 值显示为字符串,所以我想显示男性而不是 true。

老实说,我有点迷茫。我在互联网上找不到任何帮助。

ecilpse 给我的错误是 The method "setCellValueFactory(Callback,ObservableValue>) in the type TableColumn is not applicable for the arguments (( cellData) -> {})"

这是我的代码。它可能是错误的

TableColumn<Animal, String > genColumn = new TableColumn<>("Male");
        genColumn.setMinWidth(50);
        genColumn.setCellValueFactory(cellData -> {
            boolean gender = cellData.getValue().getGender();
            String genderAsString;
            if(gender == true)
            {
                genderAsString = "Male";
            }
            else
            {
                genderAsString = "Female";
            }

            new ReadOnlyStringWrapper(genderAsString);
        });

如果有任何帮助,我将不胜感激

最佳答案

保持类型为 boolean 值并使用单元工厂来更改显示方式:

TableColumn<Animal, Boolean> genColumn = new TableColumn<>("Gender");
genColumn.setCellValueFactory(cellData -> cellData.getValue().genderProperty());
// or cellData -> new SimpleBooleanProperty(cellData.getValue().getGender())
// if your model class doesn't use JavaFX properties

genColumn.setCellFactory(col -> new TableCell<Animal, Boolean>() {
    @Override
    protected void updateItem(Boolean item, boolean empty) {
        super.updateItem(item, empty) ;
        setText(empty ? null : item ? "Male" : "Female" );
    }
});

关于string - boolean 值到 TableView JavaFx 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36436169/

相关文章:

C# 变长字符串数组

Python:将字符串列表转换为 boolean 值,其中 boolean 值以字符串形式存在

swift - 为什么将 Double 转换为 Int 不会在 Swift 中返回可选的 Int?

javascript - 从 JavaScript 传递给 Qt/C++ 对象的字符串

java - 从 JavaFX 应用程序复制图像并使用 Windows 粘贴

加载场景时 JavaFX 错误

c++ - 这个错误是什么意思? (errorC2678) 以及如何修复我的代码?

php - bool(false) 出现在 bind_param() 函数中

java - 减少字母的值,例如可以将 'd' 更改为 'c' ,但不能将 'c' 更改为 'd' 。为了形成回文

java - 命令行参数 javafx