首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX强制所有单元格在GridPane中大小相同

JavaFX强制所有单元格在GridPane中大小相同
EN

Stack Overflow用户
提问于 2013-10-20 19:41:27
回答 1查看 8.5K关注 0票数 1

我正在构建一个Reversi JavaFX游戏(修改来自Pro JavaFX的示例)。

每个单元格都是一个堆栈窗格,其中包含一个背景和一个代表该部分的椭圆。

椭圆radiusX绑定到radiusY (因此它是一个圆),radiusY绑定到父级宽度和高度的最小值:

代码语言:javascript
复制
 DoubleBinding parentWidth = Bindings.selectDouble(parentProperty(), "width");
 DoubleBinding parentHeight = Bindings.selectDouble(parentProperty(), "height");
    //the radius will be the min of the two
 NumberBinding radius = Bindings.min(parentWidth,parentHeight).divide(2);

现在,如果我把很多这些放在一个gridPane,我得到一个板,所有相同的大小!

据我所知,网格窗格的每个单元格都会自动调整其内容大小。问题是,如果我最大限度地利用包含这个板的窗口,然后重新调整大小,我将得到以下面板:

有些行比其他行大:(我认为发生的情况是,当网格窗格最大化时,每个单元格(堆栈窗格)的大小就会增加)。由于尺寸与椭圆半径相结合,椭圆半径也随之增大。但是当我使窗口变小时,网格窗格不会调整填充的单元格的大小,可能是因为它正在尝试适应现在的大椭圆。

我该如何避免这件艺术品?我知道我可以添加列约束对象,但是是否必须为每一列和每一行添加一个?那可是很多东西。还有别的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-20 22:46:23

答案其实很简单。网格窗格没有调整单元格的大小,因为单元格是一个StackPane,而/minWidth等于其组件,因此它将拒绝调整大小。使用setMinSize(0,0)很好

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19481962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档