2012-10-08 24 views
13

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

+0

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. –

Respuesta

34

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:

enter image description here

Por supuesto, mediante la manipulación de los elementos de la matriz StrokeDashArray puede cambiar el patrón de forma dinámica.

+0

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

+0

@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

+0

¿Qué pasa con 'gc.setLineDashes' para líneas discontinuas? – lapots

Cuestiones relacionadas