title: Placing text in a circle in javafx
body: <p>I am currently attempting to create a series of characters in a circle within an application of Java. Essentially, the phrase "Welcome to Java" will be placed in a circle, starting at the far right with W. As characters move down the circle, they are rotated in a fashion such that the bottoms of the letters are facing inwards, in order to form a circle. </p>
  
  <p>My code seems to rotate the characters appropriately, but they will not appear anywhere other than the center of the pane. So my question is: How do you space the letters away from the center in a pane using javafx utilities? My code is below:</p>
  
  <pre><code>import javafx.application.Application;
  import javafx.scene.Scene;
  import javafx.stage.Stage;
  import javafx.scene.layout.GridPane;
  import javafx.scene.text.Font;
  import javafx.scene.text.FontPosture;
  import javafx.scene.text.FontWeight;
  import javafx.scene.text.Text;
  import javafx.geometry.Pos;
  
  public class Characters extends Application{
  
  @Override
  public void start (Stage primaryStage){
  
      //Create the pane
      GridPane pane = new GridPane();
      pane.setPrefSize(600, 600);
  
      pane.setAlignment(Pos.CENTER);
  
      //Font class instance
      Font font = Font.font("Times New Roman", FontWeight.BOLD, FontPosture.REGULAR, 35);
  
      //Welcome to Java string
      String welcome = "Welcome to Java";
      double rotation = 90;
      double x = Math.cos(rotation)*100;
      double y = Math.sin(rotation)*100;
  
      //Loop
      for (int i = 0; i &lt; welcome.length(); i++){
          x = Math.cos(Math.toRadians(rotation));
          y = Math.sin(Math.toRadians(rotation));
          System.out.println("Y: " + y);
          System.out.println("X: " + x);
          Text text = new Text(x, y, welcome.charAt(i)+"");
          System.out.println("Actual X" + text.getX());
          System.out.println("Actual Y" + text.getY());
  
          text.setFont(font);
          text.setRotate(rotation);
          pane.getChildren().add(text);
          rotation += 22.5;
      }
  
      //Create the scene for the application
      Scene scene = new Scene(pane, 500, 500);
      primaryStage.setTitle("Characters around circle");
      primaryStage.setScene(scene);
      //Display
      primaryStage.show();
  }
  public static void main (String [] args){
      launch(args);
  }
  </code></pre>
  
  <p>}</p>