Есть ли способ переместить jMenuBar куда-нибудь еще, кроме вершины моего jFrame? - PullRequest
0 голосов
/ 29 апреля 2019

Я создаю неокрашенный jFrame, и я хотел добавить jMenuBar к этому jFrame, чтобы позволить мне использовать раскрывающиеся меню для различных вещей.

Но jMenuBar всегда по умолчанию имеет самый верхмоего jFrame, и он неокрашенный, он толкает jPanel, который я там установил, с помощью кнопок «Свернуть» и «Закрыть», и попытка переместить его куда-либо еще не удалась.

Я пытался использоватьjToolBar, и хотя он позволяет больше настраивать с точки зрения размещения, я не могу найти способ добавить выпадающее меню на кнопки там.

Есть ли способ переместить jMenuBar куда-нибудь еще, чемвверху или добавить выпадающее меню в jToolBar?

1 Ответ

1 голос
/ 29 апреля 2019

Вы должны взглянуть на Менеджеры по расположению .

Вот простой пример для достижения того, что вы хотите, используя 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...