将菜单栏添加到BorderPane,MediaPlayer浮动在顶部和底部栏上

我想使用JavaFX.MediaPlayer这样创建视频播放器。

@Override public void start(Stage stage) {

    Group root = new Group();
    Scene scene = new Scene(root,600,265);
    Media media = new Media("video.mp4");
    MediaPlayer player = new MediaPlayer(media);
    PlayerController controller = new PlayerController(player);
    scene.setRoot(controller);
    stage.setScene(scene);
    stage.show();

}

PlayerController(从BorderPane继承)看起来像这样

public PlayerController(final MediaPlayer mp) {

    MediaView mediaView = new MediaView(mp);
    Pane mvPane = new Pane();
    mvPane.getchildren().add(mediaView);
    setCenter(mvPane);

    HBox mediaBar = new HBox();
    mediaBar.setalignment(Pos.CENTER);
    mediaBar.setPadding(new Insets(5,10,5,10));
    setalignment(mediaBar,Pos.CENTER);
    setBottom(mediaBar);

}

但是现在我想添加一个菜单栏

MenuBar menuBar = new MenuBar();
Menu fileMenu = new Menu("File");
MenuItem newItem = new MenuItem("New");
fileMenu.getItems().addAll(newItem);
menuBar.getMenus().addAll(fileMenu);        
setTop(menuBar);

但是现在播放器有点“溢出”播放器控制栏和菜单栏。 Image。除了setTop,setCenter和setBottom之外,还有其他更好的方法吗?还是我使用错了?

achenoffice82 回答:将菜单栏添加到BorderPane,MediaPlayer浮动在顶部和底部栏上

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3047932.html

大家都在问