如何在javafx的TableView中添加GridPane



我有像

这样的GridPane对象
GridPane gridPane1 = new GridPane();
gridPane1.add(label1, 0, 0);
gridPane1.add(label2, 1, 0);
gridPane1.add(label3, 0, 1);
gridPane1.add(label4, 1, 1);

 GridPane gridPane2 = new GridPane();
    gridPane2.add(label1, 0, 0);
    gridPane2.add(label2, 1, 0);
    gridPane2.add(label3, 0, 1);
    gridPane2.add(label4, 1, 1);

现在我如何添加这个对象到tableView的javafx。

你应该意识到JavaFX TableView实际上并不像网格那样工作,你可以在其中添加任意对象。相反,TableView是一种按行显示pojo的方式,其中单个单元格内容的视觉外观由TableColumn中的CellFactories决定。请阅读这篇文章来了解TableView是如何工作的。

也就是说,我建议对你的请求使用不同的方法:将两个gridpane添加到HBox中,并对HBox进行样式设置,使其看起来像表格或类似的东西(这很容易通过css实现)。如果你真的想使用TableView,解决方案是使用带有两个属性的POJO:第一个GridPane和第二个GridPane。然后使用两个tablecoln单元格工厂返回适当的POJO的GridPane,这样你硬编码这些东西到你的TableView。

最新更新