有没有办法将jMenuBar移到jFrame顶部以外的其他位置?

时间:2019-04-29 19:11:53

标签: java swing

我正在创建一个未装饰的jFrame,我想在此jFrame中添加一个jMenuBar,以允许我使用下拉菜单处理各种事情。

但是,jMenuBar始终默认为我jFrame的顶部,并且未经修饰,它使用“ Minimize”和“ Close”按钮向下推我在其中设置的jPanel,然后尝试将其移动到其他位置不成功。

我尝试使用jToolBar,尽管它允许在放置方面进行更多自定义,但是我找不到在下拉式菜单上添加下拉菜单的方法。

是否可以将jMenuBar移至顶部以外的其他位置或向jToolBar添加下拉菜单?

1 个答案:

答案 0 :(得分:1)

您应该看看Layout Managers

这里是一个简单的示例,可以使用BorderLayout

public static void main(String[] args) {
    JFrame jf = new JFrame();

    JPanel container = new JPanel();
    container.setLayout(new BorderLayout());

    JLabel label = new JLabel("North");
    JMenuBar menuBar = new JMenuBar();

    JMenu menu = new JMenu("A south menu");
    menu.add(new JMenuItem("A south item"));

    menuBar.add(menu);

    container.add(label, BorderLayout.NORTH);
    container.add(menuBar, BorderLayout.SOUTH);

    jf.add(container);
    jf.setPreferredSize(new Dimension(200,100));
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setVisible(true);
    jf.pack();
}

结果:

enter image description here