JavaFx 2.x:如何绘制虚线或虚线?

Alb*_*sut 16 line draw javafx-2

我想从solid,dotted或dashed动态更改一行的绘制:似乎我必须使用line.setStroke,这是正确的方法吗?

而且,如何实现这一目标?

谢谢

Ulu*_*Biy 37

不,这不是正确的方法,setStroke设置笔画的颜色.
正确的方法是getStrokeDashArray().add():

Line line1 = new Line(20, 40, 270, 40);
line1.getStrokeDashArray().addAll(25d, 20d, 5d, 20d);

Line line2 = new Line(20, 60, 270, 60);
line2.getStrokeDashArray().addAll(50d, 40d);

Line line3 = new Line(20, 80, 270, 80);
line3.getStrokeDashArray().addAll(25d, 10d);

Line line4 = new Line(20, 100, 270, 100);
line4.getStrokeDashArray().addAll(2d);

Line line5 = new Line(20, 120, 270, 120);
line5.getStrokeDashArray().addAll(2d, 21d);

pane.getChildren().addAll(line1, line2, line3, line4, line5);
Run Code Online (Sandbox Code Playgroud)

StrokeDashArray定义线和间隙序列的模式.请参阅以下不同模式作为上述输出:

在此输入图像描述

当然,通过操纵StrokeDashArray数组元素,您可以动态更改模式.