Подтвердить что ты не робот

JavaFx 2.x: Как нарисовать пунктирные или пунктирные линии?

Я хотел бы динамически изменить рисование линии из сплошного, пунктирного или пунктирного: кажется, мне нужно использовать line.setStroke, это правильный метод?

И как это сделать?

Спасибо

4b9b3361

Ответ 1

Нет, это не правильный метод, 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);

StrokeDashArray определяет структуру строк и интервалов пробелов. В качестве вывода надписи см. Следующие разные шаблоны:

enter image description here

Конечно, манипулируя элементами массива StrokeDashArray, вы можете динамически изменять шаблон.