0

我正在尝试创建一个Container(在本例中为HBox,但可能是 StackPane、VBox 或其他);其中包含一个组,并且附加到该组的是一个 MediaView。

如果我只是创建对象而不设置任何边距等,则在HBox的开始(下面的背景蓝色)和Group的开始(下面附有绿色的 MediaView)之间会出现一个奇怪的 9px 间隙

显示问题的图像 - HBox 和 MediaView 之间的 9px 间隙

如果我明确使用root.setTranslateX(-9);HBox移动超过 9 个像素并且问题似乎得到缓解,因为它已被偏移。但是,这是我发现解决此问题的唯一方法!即使我使用.setMargins(...);它仍然会这样做。

问题

关于为什么会发生这种情况的任何想法?

我再次尝试了这个(下面的代码)。有趣的是,似乎差距在右边。

又一次尝试

    public class HelloWorld extends Application {

    HBox root = new HBox();
    MediaView view = new MediaView();

    public HelloWorld(){

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

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World!");




        Group rootGroup = new Group();
        root.getChildren().add(rootGroup);
        root.setAlignment(Pos.CENTER_LEFT);
        root.setTranslateX(-9);
        root.setStyle("-fx-background-color: #039ED3;");
        rootGroup.getChildren().add(view);



        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}
4

0 回答 0