获取GridPane列/行的宽度/高度?

时间:2013-04-23 16:45:52

标签: java layout grid javafx-2

虽然很明显如何设置GridPane中列/行的宽度/高度,但我该如何查询这些值呢?

3 个答案:

答案 0 :(得分:2)

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

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;
}

答案 1 :(得分:0)

免责声明:我从问题中提取了此内容,而OP(stefan.at.wpf)在这里对其进行了自我回答。 Answers should not be contained in the question itself。也是don't use Edit/Update: Questions/Anwers don't need to record history


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

答案 2 :(得分:-1)

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

注意,如 @olmstov 所述,在更高版本的Javafx中已描述并删除了所提到的方法。如果有更好的方法(与公共API兼容),建议使用该方法代替此替代方法。

相关问题