import javafx.stage.Stage;
import javafx.application.Application;
import javafx.geometry.*;
import javafx.scene.layout.*;
import javafx.scene.shape.*;
import javafx.scene.paint.*;
import javafx.scene.Scene;
import javafx.scene.text.*;
public class PieChart extends Application{
public void start(Stage primaryStage) {
final double WIDTH = 600;
final double HEIGHT = 600;
Pane pane = new Pane();
pane.setStyle("-fx-background-color: lightBlue");
Arc arc1 = new Arc(WIDTH / 2, HEIGHT / 2, 200, 200, 0, 72);
arc1.centerXProperty().bind(pane.widthProperty().divide(2));
arc1.centerYProperty().bind(pane.heightProperty().divide(2));
arc1.setType(ArcType.ROUND);
arc1.setFill(Color.RED);
Text text1 = new Text(375, 250, "Project -- 20%");
Arc arc2 = new Arc(WIDTH / 2, HEIGHT / 2, 200, 200, 72, 36);
arc2.centerXProperty().bind(pane.widthProperty().divide(2));
arc2.centerYProperty().bind(pane.heightProperty().divide(2));
arc2.setType(ArcType.ROUND);
arc2.setFill(Color.BLUE);
Text text2 = new Text(270, 95, "Quiz -- 10%");
Arc arc3 = new Arc(WIDTH / 2, HEIGHT / 2, 200, 200, 108, 108);
Text text3 = new Text(150, 250, "Midterm -- 30%");
arc3.centerXProperty().bind(pane.widthProperty().divide(2));
arc3.centerYProperty().bind(pane.heightProperty().divide(2));
arc3.setType(ArcType.ROUND);
arc3.setFill(Color.GREEN);
Arc arc4 = new Arc(WIDTH / 2, HEIGHT / 2, 200, 200, 216, 144);
Text text4 = new Text(300, 400, "Final -- 40%");
arc4.centerXProperty().bind(pane.widthProperty().divide(2));
arc4.centerYProperty().bind(pane.heightProperty().divide(2));
arc4.setType(ArcType.ROUND);
arc4.setFill(Color.ORANGE);
pane.getChildren().addAll(arc1, arc2, arc3, arc4, text1, text2, text3, text4);
Scene scene = new Scene(pane, WIDTH, HEIGHT);
primaryStage.setTitle("Pie Chart");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
Ссылка на то, как выглядит моя программа
Привет всем, у меня есть программа, которая создает пи-диаграмму с использованием нескольких дуг и текста.Я связал значения свойств centerX и centerY с половиной ширины и высоты панели, чтобы сделать так, чтобы пи-диаграмма оставалась в центре, даже если вы перенастраиваете окно.Однако я попытался привязать свой текст к панели таким же образом, и ничего не показывалось.На данный момент я просто вручную ввел значения x и y, чтобы поместить мой текст в правильное место, однако, если я перенастраиваю окно, piChart остается в центре, а текст - нет.Как я могу отредактировать свой текст, чтобы сделать его более динамичным, если он похож на изображение в ссылке, но остается таким же, даже когда я изменяю размер окна?