JavaFX Table 查看 CellValueFactory
JavaFX Table View CellValueFactory
我 运行 遇到了一个似乎无法解决的奇怪问题。我正在创建一个 table 视图,其中一列中有一个复选框。
尽管我正在尝试向 CheckBoxTableCell
添加更改侦听器,但没有成功。
如果我这样做:
final CheckBoxTableCell<Plugin, Boolean> ctCell = new CheckBoxTableCell<>();
enabled.setCellFactory(p -> ctCell);
table视图中根本没有显示复选框。
但是如果我这样做:
enabled.setCellFactory(p -> new CheckBoxTableCell<>());
复选框显示正常?为什么第二个显示复选框而第一个不显示?请帮忙!
在第一种情况下,您创建一个对象并多次传递它。根据 JavaFX 场景图文档,一个节点只能附加到一个父节点,一个父节点不能有重复的子节点。
在第二种情况下,您每次都创建一个新对象来填充单元格。这是应该做的,因为该方法需要一个工厂,换句话说,一个每次调用都会产生一个新对象的对象。
我 运行 遇到了一个似乎无法解决的奇怪问题。我正在创建一个 table 视图,其中一列中有一个复选框。
尽管我正在尝试向 CheckBoxTableCell
添加更改侦听器,但没有成功。
如果我这样做:
final CheckBoxTableCell<Plugin, Boolean> ctCell = new CheckBoxTableCell<>();
enabled.setCellFactory(p -> ctCell);
table视图中根本没有显示复选框。
但是如果我这样做:
enabled.setCellFactory(p -> new CheckBoxTableCell<>());
复选框显示正常?为什么第二个显示复选框而第一个不显示?请帮忙!
在第一种情况下,您创建一个对象并多次传递它。根据 JavaFX 场景图文档,一个节点只能附加到一个父节点,一个父节点不能有重复的子节点。
在第二种情况下,您每次都创建一个新对象来填充单元格。这是应该做的,因为该方法需要一个工厂,换句话说,一个每次调用都会产生一个新对象的对象。