14.5 (Characters around circle) Write a program that displays a string Welcome to Java around the circle, as shown in Figure 14.44b. Hint: You need to display each character in the right location with appropriate rotation using a loop.
package section_14;
import javafx.application.Application;
import javafx.geometry.Point2D;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class _05 extends Application {
public void start(Stage primaryStage) {
Pane pane = new Pane();
String[] str = "Welcome to Java".split("");
Font font = Font.font("Times New Roman", FontWeight.BOLD, 20);
// Scene(pane,400,400)
Point2D center = new Point2D(200, 200);
double radius = 100;
double angle = 0;
double rotate = 90;
for (int i = 0; i < str.length; i++) {
//formula
double x = center.getX() + radius * Math.cos(Math.toRadians(angle));
double y = center.getY() + radius * Math.sin(Math.toRadians(angle));
//tried out one by one
angle += 23;
rotate += 21;
Text text = new Text(x, y, str[i]);
text.setRotate(rotate);
text.setFont(font);
pane.getChildren().add(text);
}
Scene scene = new Scene(pane, 400, 400);
primaryStage.setTitle("_14_5");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}