将菜单栏添加到Gridpane

时间:2018-08-27 18:40:57

标签: java user-interface javafx menubar gridpane

如何向舞台添加MenuBar?我尝试将其包含在我的GridPane中(已将所有其他元素添加到其中),但是它看起来好像从未附加到窗口顶部。

Example of what it looks like.

总有办法解决吗?

我使用此代码将其放置在布局中。

 layout.add(menuBar,0,1,10,1);

其中添加了菜单项的layoutGridPane,而menuBarMenuBar

1 个答案:

答案 0 :(得分:1)

如果在代码中执行此操作,请尝试使用更好的节点作为root。当我有MenuBar时,我喜欢使用VBox。您可以在GridPane之后添加MenuBar

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

/**
 *
 * @author blj0011
 */
public class JavaFXApplication249 extends Application
{

    @Override
    public void start(Stage primaryStage)
    {
        Menu miFile = new Menu("File");
        MenuBar menuBar = new MenuBar();
        menuBar.getMenus().add(miFile);

        VBox root = new VBox(menuBar);

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

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        launch(args);
    }

}

enter image description here