我想在Java Scene Builder中创建一个自定义形状 - 六边形。我尝试使用“多边形”选项,但我唯一得到的是三角形。 有谁知道我怎么编辑这个?我在某处读到我应该将形状设置为“resizeable”,但Java Scene Builder中的选项是无效的......
我真的很感激任何帮助!
答案 0 :(得分:3)
我明白了:
<Polygon fill="DODGERBLUE" layoutX="108.0" layoutY="121.0" stroke="BLACK" strokeType="INSIDE">
<points>
<Double fx:value="-50.0" />
<Double fx:value="30.0" />
<Double fx:value="0.0" />
<Double fx:value="60.0" />
<Double fx:value="50.0" />
<Double fx:value="30.0" />
<Double fx:value="50.0" />
<Double fx:value="-30.0" />
<Double fx:value="0.0" />
<Double fx:value="-60.0" />
<Double fx:value="-50.0" />
<Double fx:value="-30.0" />
</points>
</Polygon>
答案 1 :(得分:0)
我不确定场景构建器,因为我从未使用它,但是如果你不能使它工作,你可以手动完成。根据{{3}},您可以使用Polygon(double... points)
创建一个多边形。 the documentation on polygon有办法获得正确的观点。
答案 2 :(得分:0)
我已创建此课程
class Hexagon {
double [] points;
double center;
public Hexagon(double side){
center = getH(side);
points = new double[12];
// X Y
points[0] = 0.0; points[1] = 0.0;
points[2] = side; points[3] = 0.0;
points[4] = side+(side/2); points[5] = center;
points[6] = side; points[7] = center * 2;
points[8] = 0.0; points[9] = center * 2;
points[10] = -side/2; points[11] = center;
}
private double getH(double side) {
return ((sqrt(3)/2)*side);
}
public double [] getPoints(){
return points;
}
}
你可以用它来创建一个像这样的多边形:
Polygon hexagon = new Polygon(new Hexagon(100d).getPoints());