虽然很明显如何设置GridPane
中列/行的宽度/高度,但我该如何查询这些值呢?
答案 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兼容),建议使用该方法代替此替代方法。