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

后端 未结 1 1291
时光说笑
时光说笑 2020-12-14 09:13

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 acco

相关标签:
1条回答
  • 2020-12-14 09:19

    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:

    enter image description here

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

    0 讨论(0)
提交回复
热议问题