关于 java:JavaFX StringConverter 不适用于组合框 | 珊瑚贝

JavaFX StringConverter not applying to combo box


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

screen

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

1
2
3
4
5
6
7
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);
    }
});

我的字符串转换器看起来像这样:

1
2
3
4
5
6
7
8
9
10
11
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?

什么都没有……

这是一个已知的错误;它已在 JavaFX 8 中修复。
如果您现在被锁定在 JavaFX 2.2 (JDK 7) 中,解决方法是滚动您自己的自定义单元格,这有点乏味但还不错。

不过,不过,我认为在这个确切的场景中,我会考虑使用 CheckBoxTableCell,对于”是/否”选项来说,这比组合框的用户体验更好。


来源:https://www.codenong.com/21557943/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8913.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?