JavaFX旋转NumberAxis是独立的

时间:2017-12-29 15:32:33

标签: java javafx yaxis

我正在尝试创建一个这样的轴系统: Axises

我正在使用javafx.scene.chart.NumberAxis。

x轴非常直接:

NumberAxis xAxis = new NumberAxis(xStart,xEnd,xIncrement);

有没有办法将y轴旋转90度,使其看起来像上图?

我尝试使用Node的setRotate,但正如文档所说,它会旋转整个图形。 (我想只旋转轴而不是随之旋转的数字。)

 NumberAxis yAxis = new NumberAxis(yStart,yEnd,yIncrement);
 yAxis.setRotate(90);

1 个答案:

答案 0 :(得分:1)

你只需要设置一边:

NumberAxis yAxis = new NumberAxis(yStart,yEnd,yIncrement);
yAxis.setSide(Side.LEFT); // or Side.RIGHT

这是一个简单的例子:

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Side;
import javafx.scene.Scene;
import javafx.scene.chart.NumberAxis;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class AxisTest extends Application {

    @Override
    public void start(Stage primaryStage) {
        NumberAxis leftAxis = new NumberAxis(0, 100, 10);
        leftAxis.setSide(Side.LEFT);

        NumberAxis bottomAxis = new NumberAxis(0, 100, 10);


        GridPane root = new GridPane();
        Pane center = new Pane();
        center.setPrefSize(600, 600);
        root.add(center, 1, 0);
        root.add(leftAxis, 0, 0);
        root.add(bottomAxis, 1, 1);

        root.setPadding(new Insets(10));

        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

enter image description here