javafx setprefwraplength()方法

r6l8ljro  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(185)

在下面的代码中,将值50还是300传递给函数并不重要。我所有的按钮总是排成一行,除非我调整窗口的大小。根据理论,在我的节点行达到50像素(假设我将该值传递给setprefwraplength()方法)之后,我的下一个节点应该在下一行。但这并没有发生。有人能解释一下为什么吗?

package test2;

import com.sun.java.swing.plaf.gtk.GTKConstants;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Orientation;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Test2 extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btn1 = new Button("one");
        Button btn2 = new Button("two");
        Button btn3 = new Button("three");
        Button btn4 = new Button("four");

        FlowPane fpane = new FlowPane(Orientation.HORIZONTAL, 10, 10, btn1, btn2, btn3, btn4);
        fpane.setPrefWrapLength(50);

        Scene scene = new Scene(fpane, 300, 250);

        primaryStage.setTitle("Flow Pane");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}

更新:我在javafx文档中发现了下面这一行,我认为这与这个问题有关
请注意,prefwrappength仅用于计算首选大小,可能不反映跟踪流窗格实际大小的实际 Package 维度。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题