首页 > 解决方案 > 如何在 JavaFX 中对齐一行?

问题描述

line 的文档说如何制作一条线,您需要指定该线的开始 X、Y 和结束 X、Y。这可以使用,但前提是场景是固定尺寸的。而不是指定线的开始X,Y和结束X,Y我想直接指定线的长度,线的方向并简单地将它定位在场景的中心使用root.setCenter(line);我不认为以任何方式指定线的起点 X、Y 和终点 X、Y,然后将其水平或垂直对齐到场景的中心。这是我要实现的目标的说明: 线代表

因此,为了解决这个问题,我使用 BorderPane 作为我的根,然后我想要一条水平线并使用它对齐它,root.setCenter(lines);但是没有这样的方法来对齐我能找到的一条线。Pos.CENTER我怎样才能通过像其他节点一样指定线的这个位置在场景上水平?

标签: javajavafx

解决方案


我找到了如何做到这一点,正如@Fabian 所说,您需要使用 StackPane 作为场景的根,并指定起始端 X 和 Y 并将其与 StackPane 对齐。这是我使用的代码:

    private StackPane root = new StackPane();
    private Scene scene = new Scene(root, 1366, 768);

    @Override
    public void start(Stage primaryStage) {
        Line line = new Line(0,100,100,100);
        line.setStrokeWidth(20);

        StackPane.setAlignment(line, Pos.CENTER);
        root.getChildren().add(line);

        primaryStage.setTitle("Test");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

谢谢。


推荐阅读