设置Hbox的形状属性 - JavaFX

时间:2017-06-25 00:00:16

标签: javafx scalafx hbox

我正在尝试将hbox的shape属性设置为多边形。以下代码位于使用构造函数扩展Hbox的类中,该构造函数需要一个名为class Shape {} class Circle extends Shape {} List<Shape> void operate (List<Shape> shapes) {...} <T extends Shape> void operate (List<T> shapes) {...} 的点列表。

origPoints

很抱歉,如果语法略有不同。我正在使用ScalaFX,但我不认为这会导致任何问题。

欲了解更多信息:我正在制作一张美国难以驾驭的地图。我为每个州绘制了坐标。我希望使用hbox的优点,例如能够添加文本等子项。

1 个答案:

答案 0 :(得分:1)

正如Sedrick Jefferson指出的那样,需要设置minWidth和minHeight,否则hbox更喜欢高度/宽度。我希望我的国家能够在调整窗口大小时进行缩放,因此我将其minHeight / minWidth属性绑定到SimpleDoubleProperty,以跟踪背景的缩放比例,以便相应地缩放高度/宽度。

origPoints.foreach{case (x,y) => polygon.getPoints.addAll(x,y)}
shape = polygon
styleClass.setAll("country")
minHeight.bind(yScale.multiply(origHeight))
minWidth.bind(xScale.multiply(origWidth))