如何在javafx中的TableView上添加GridPane

时间:2013-06-17 09:13:31

标签: javafx-2 javafx javafx-8

我有像

这样的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);

现在如何将此对象添加到javafx的tableView中。?

1 个答案:

答案 0 :(得分:1)

您应该知道,JavaFX TableView实际上并不像网格那样可以在其中添加任意对象。相反,TableView是一种在行中显示POJO的方法,其中单个单元格内容的视觉外观由TableColumn中的CellFactories确定。请阅读this以了解TableView的工作原理。

那就是说,我建议对你的请求使用不同的方法:将两个GridPanes添加到HBox中并设置HBox样式,使其看起来像桌子或类似物(这可以通过css轻松工作)。如果您真的想使用TableView,解决方案是使用具有两个属性的POJO:第一个GridPane和第二个Gridpane。然后使用两个TableColumn单元工厂返回POJO的相应GridPane,这样就可以将这些东西硬编码到TableView中。