【问题标题】:JavaFX Table View CellValueFactoryJavaFX 表视图 CellValueFactory
【发布时间】:2015-12-09 03:22:27
【问题描述】:

我遇到了一个似乎无法解决的奇怪问题。我正在制作一个表格视图,其中一列里面有一个复选框。

虽然我正在尝试向 CheckBoxTableCell 添加更改侦听器,但没有任何运气。

如果我这样做:

            final CheckBoxTableCell<Plugin, Boolean> ctCell = new CheckBoxTableCell<>();
        enabled.setCellFactory(p -> ctCell);

复选框根本不显示在 tableview 上。

但如果我这样做:

enabled.setCellFactory(p -> new CheckBoxTableCell<>());

复选框显示正常吗?为什么第二个显示复选框而第一个不显示?请帮忙!

【问题讨论】:

    标签: java javafx tableview


    【解决方案1】:

    在第一种情况下,您创建一个对象并多次传递它。根据 JavaFX 场景图文档,节点只能附加到单个父节点,并且父节点不能有重复的子节点。

    在第二种情况下,您每次都创建一个新对象来填充单元格。这是应该做的,因为该方法需要一个工厂,换句话说,每次调用都会产生一个新对象的对象。

    【讨论】:

    猜你喜欢
    • 2016-06-07
    • 2015-05-11
    • 2013-06-24
    • 2012-11-21
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    相关资源
    最近更新 更多