5

虽然很明显如何在 a 中设置列​​/行的宽度/高度,GridPane但我如何才能真正查询这些值?

4

3 回答 3

2

JavaFX8:有一个包保护方法GridPane.getGrid可以在两个暗淡的双数组中获取当前行/列的大小。您可以使用反射来访问它。在具有安全管理器的环境中,这将不起作用。

public double[][] getCurrentGrid(GridPane gp) {
    double[][] ret=new double [0][0];

    try {
        Method m=gp.getClass().getDeclaredMethod("getGrid");
        m.setAccessible(true);
        ret=(double[][])m.invoke(gp);                   

    } catch (Exception e) {
        e.printStackTrace();
    }

    return ret;
}
于 2014-07-10T13:48:20.253 回答
0

免责声明:我从问题中提取了这个,OP(stefan.at.wpf)自行回答了它。答案不应包含在问题本身中。也不要使用编辑/更新:问题/答案不需要记录历史


可以将空HBox/添加VBox到相应的GridPane列/行并将侦听器附加到HBox/ VBox widthProperty/ heightProperty,但我仍然想知道是否有一种方法可以直接获取 a 中列/行的宽度和高度GridPane

于 2018-10-04T14:07:44.413 回答
0

在 javafx-8 中,现在有一个方法GridPane#impl_getCellBounds可以解决问题,尽管它是内部 API 的一部分。(不确定这是否也适用于 javafx-2)

请注意,正如@olmstov所评论的,所提到的方法在更高版本的 javafx 中已被贬低和删除。如果有更好的方法(与公共 API 兼容),建议使用它而不是这种替代方法。

于 2018-06-23T13:49:51.470 回答