JavaFx 2.x : How to draw dashed or dotted lines?

北城余情 提交于 2019-11-27 13:03:34

问题


I would like to dynamically change the draw of a line from solid, dotted or dashed: it seems I have to use line.setStroke, is it the correct method?

And, how to accomplish this?

Thanks


回答1:


No that is not the correct method, setStroke sets the color of the stroke.
Correct method is 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);

StrokeDashArray defines the pattern of line and gap sequences. See the following different patterns as output of aboves:

Of course by manipulating the StrokeDashArray array elements you can change the pattern dynamically.



来源:https://stackoverflow.com/questions/12786363/javafx-2-x-how-to-draw-dashed-or-dotted-lines

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!