【问题标题】:JavaFX Rotating NumberAxis independentlyJavaFX独立旋转NumberAxis
【发布时间】:2017-12-29 15:32:33
【问题描述】:

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

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

x 轴非常直:

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

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

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

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

【问题讨论】:

  • 不太清楚你在问什么。您能否发布一个示例并解释它的行为方式与您希望它的行为方式有何不同?
  • @James_D 你说得对,我改写了。

标签: java javafx yaxis


【解决方案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);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 2011-11-10
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多