Pour positionner les chiffres autour du cadran, un peu à l'extérieur du cercle formé par les disques, on ajoute à traceCadran les lignes
gc.setFill(Color.BEIGE);
gc.fillText("0",0,-rayon-20);
gc.fillText("15", rayon+20, 0);
gc.fillText("30",0, rayon+20);
gc.fillText("45", -rayon-20, 0);
Tel quel le résultat n'est cependant pas très satisfaisant car les chiffres sont petits, et ne sont pas bien alignés par-rapport aux disques.
Avant les 5 lignes précédentes, ajouter :
gc.setFont(new Font(20));ce qui permet d'obtenir des chiffres plus grands ("Font" veut dire "police de caractères", et 20 est la taille de la police de caractères souhaitée)
gc.setTextAlign(TextAlignment.CENTER); gc.setTextBaseline(VPos.CENTER);La premiere ligne permet de centrer le texte horizontalement, la deuxième, verticalement.
L'aiguille va être tracée comme une simple ligne. On va indiquer la couleur de tracé et l'épaisseur de la ligne, avant de la tracer en utilisant le paramètre "inclinaison" et les fonctions sinus et cosinus.
Sous JavaFX le sens croissant des angles est le sens des aiguilles d'une montre, ce qui est pratique ici, et l'origine est la même que pour le cercle trigonométrique.
Afin que la valeur 0 du paramètre "inclinaison" correspondent à la position "0", on va lui enlever π/2 avant de faire le tracé.
On ajoute donc à traceCadran les lignes
gc.setStroke(Color.color(0.8,0.9,1)); gc.setLineWidth(4); inclinaison=inclinaison-Math.PI/2; gc.strokeLine(0,0,lAiguille*Math.cos(inclinaison),lAiguille*Math.sin(inclinaison));La première ligne indique la couleur,ici une couleur personnalisée désignée par ses trois composantes rouge, vert, bleu. On peut utiliser aussi une couleur prédéfinie (par exemple Color.LIGHTBLUE) ou définir une couleur personnalisée par ses composantes RVB exprimées par des entiers compris entre 0 et 255, en utilisant Color.rgb() (par exemple Color.rgb(204,229,255)).
La méthode traceCadran est maintenant complète, on peut la tester en lançant le programme. Il ne reste plus qu'à réaliser l'animation.