Me gustaría cambiar dinámicamente el dibujo de una línea de sólido, punteado o discontinuo: parece que tengo que usar line.setStroke, ¿es el método correcto?JavaFx 2.x: ¿Cómo dibujar líneas punteadas o punteadas?
Y, ¿cómo lograr esto?
Gracias
Me gustaría cambiar dinámicamente el dibujo de una línea de sólido, punteado o discontinuo: parece que tengo que usar line.setStroke, ¿es el método correcto?JavaFx 2.x: ¿Cómo dibujar líneas punteadas o punteadas?
Y, ¿cómo lograr esto?
Gracias
No se que no es el método correcto, setStroke establece el color del trazo.
método correcto es 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 define el patrón de secuencias de línea y Gap. Consulte los siguientes patrones diferentes como salida de aboves:
Por supuesto, mediante la manipulación de los elementos de la matriz StrokeDashArray puede cambiar el patrón de forma dinámica.
Sé que esto es antiguo, pero solo para agregar, esto tiene un gran impacto en el rendimiento, ya que cada trazo se dibuja como su propia línea. – Appleshell
@Uluk Estoy usando este dashedArray(); 'line.getStrokeDashArray(). addAll (3d, 20d, 30d);' ¿Por qué obtengo este resultado? eso es inesperado. http://imgur.com/a/DnzoV – UnKnown
¿Qué pasa con 'gc.setLineDashes' para líneas discontinuas? – lapots
He encontrado una solución: utilizando este método line.setStyle ("- fx-stroke-dash-array: 2 12 12 2;"); Debo usar una actualización como pane.getChildren(). Remove (línea); pane.getChildren(). Add (línea); de lo contrario, la línea no cambiará a discontinua de sólida (Windows XP). ¿Hay alguna otra manera diferente a esta? Además, en Linux no es necesario usar eliminar y agregar, funciona correctamente. –