gpt4 book ai didi

JavaFX StringConverter 不适用于组合框

转载 作者:太空宇宙 更新时间:2023-11-04 07:05:00 26 4
gpt4 key购买 nike

我正在尝试在 JavaFX 的表格中创建一个组合框表格单元格。我使用了字符串转换器,以便 false 在表中显示“否”,而 true 在表中显示"is",并且这是有效的。但是,当我单击单元格进行编辑时,组合框仍然显示“false”和“true”,如下所示:

screen shot of incorrect behavior

我正在像这样设置我的表格单元格:

colPossibleDischarge.setCellValueFactory(new PropertyValueFactory<RoomProperty, Boolean>("discharge"));
colPossibleDischarge.setCellFactory(new Callback<TableColumn<RoomProperty, Boolean>, TableCell<RoomProperty, Boolean>>() {
@Override
public TableCell<RoomProperty, Boolean> call(TableColumn<RoomProperty, Boolean> roomPropertyBooleanTableColumn) {
return new ComboBoxTableCell<RoomProperty, Boolean>(new YesNoStringConverter(),true,false);
}
});

我的字符串转换器如下所示:

public class YesNoStringConverter extends StringConverter<Boolean> {
@Override
public String toString(Boolean bool) {
return (bool?"Yes":"No");
}

@Override
public Boolean fromString(String s) {
return s.equalsIgnoreCase("yes");
}
}

我做错了什么?

最佳答案

What am I doing wrong?

没什么...

这是一个known bug ;它已在 JavaFX 8 中修复。如果您现在被锁定在 JavaFX 2.2 (JDK 7) 中,解决方法是滚动您自己的自定义单元,这有点乏味,但也不算太糟糕。

不过,我认为在这种情况下,我会考虑使用 CheckBoxTableCell,对于“是/否”选择来说,这比组合框有更好的用户体验。

关于JavaFX StringConverter 不适用于组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21557943/

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