JavaFX 独立旋转 NumberAxis
JavaFX Rotating NumberAxis independently
我正在尝试创建一个这样的轴系统:
我正在使用 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);
你只需要设置边:
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);
}
}
我正在尝试创建一个这样的轴系统:
我正在使用 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);
你只需要设置边:
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);
}
}