我正在尝试创建一个Container
(在本例中为HBox,但可能是 StackPane、VBox 或其他);其中包含一个组,并且附加到该组的是一个 MediaView。
如果我只是创建对象而不设置任何边距等,则在HBox的开始(下面的背景蓝色)和Group的开始(下面附有绿色的 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();
}
}