JavaFx 2.x : Come disegnare tratteggiata o linee tratteggiate?

Vorrei cambiare dinamicamente il sorteggio di una linea solida, tratteggiata: sembra che devo usare la linea.setStroke, è il metodo corretto?

E come fare questo?

Grazie

  • Ho trovato una soluzione:utilizzando questo metodo di linea.il metodo setStyle(“-fx-corsa-dash-array: 2 12 12 2;”); devo utilizzo di un aggiornamento come il pane.getChildren().rimuovere(linea); il pane.getChildren().aggiungere(line); in caso contrario la linea di non girare per tratteggiata dal pieno.(Windows XP). C’è un modo diverso di altri di questo? Cosa c’è di più, in Linux non c’è bisogno di usare rimuovere e aggiungere, funziona correttamente.

 

One Reply
  1. 36

    No che non è il metodo corretto, setStroke imposta il colore del tratto.

    Metodo corretto è 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 definisce il modello di linea e gap sequenze. Vedere i seguenti modelli diversi come uscita di aboves:

    JavaFx 2.x : Come disegnare tratteggiata o linee tratteggiate?

    Naturalmente, manipolando il StrokeDashArray elementi di una matrice, è possibile modificare il modello in modo dinamico.

    • So che questo è vecchio, ma solo per aggiungere, questo prendere un grande successo sulle prestazioni, come ogni dash è disegnata come una sua linea.
    • Sto usando questo dashedArray(); line.getStrokeDashArray().addAll(3d, 20d, 30d); Perché io sono sempre questa uscita? che è inaspettato. imgur.com/a/DnzoV
    • che cosa circa gc.setLineDashes per linee tratteggiate?

Lascia un commento