Как я могу использовать BoxLayout для этого?

Я уже настроил меню (центральные блоки) идеально, но я не знаю, как я могу разместить этикетку В настоящее время происходит то, что ярлык находится ниже пунктов меню, а пункты меню сдвигаются вправо.

Вот что я хочу, чтобы произошло:

И вот что происходит:

В настоящее время мои ящики сосредоточены на:

this.setAlignmentX(Component.CENTER_ALIGNMENT);

И я попытался сделать то же самое с моим лейблом, используя:

this.setAlignmentX(Component.BOTTOM_ALIGNMENT);
this.setAlignmentY(Component.LEFT_ALIGNMENT);

Который ничего не делает.

Извините, диаграмма настолько плохая, что я нарисовал ее в MS Paint примерно за 20 секунд.

Вот важная часть этикетки

public Label(String text)
{

    this.setHorizontalTextPosition(JLabel.CENTER);
    this.setVerticalTextPosition(JLabel.CENTER);
    this.setHorizontalAlignment(0);
}

И вот где я создаю boxlayout:

 pnlMain.setLayout(new BoxLayout(pnlMain, BoxLayout.Y_AXIS));

Редактировать: Вот основная функция внутри моего класса расширения JFrame. Над функцией находится просто создание панелей, кнопок и надписей.

public Window()
{
    //Create the JFrame
    super("Tank Trouble");
    this.pack();
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);

    //Changes the frame size to your screen size
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (int) (dimension.getWidth());
    int y = (int) (dimension.getHeight());
    setSize(x,y);
    setResizable(false);
    //GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(this); //Makes the application go fullscreen

    getContentPane().add(pnlMaster);

    pnlMaster.add(pnlMenu, "Main Menu");
    pnlMaster.add(pnlOptions, "Options");
    pnlMaster.add(pnlGame, "Game");
    pnlMaster.add(pnlMenu2);

    switchTo("Main Menu");

    pnlOptions.setLayout(new BoxLayout(pnlOptions, BoxLayout.Y_AXIS));

    Box box = Box.createVerticalBox();
    box.add(Window.playS);
    box.add(Box.createVerticalStrut(20));
    box.add(Window.playM);
    box.add(Box.createVerticalStrut(20));
    box.add(Window.options);
    box.add(Box.createVerticalStrut(20));
    box.add(Window.language);
    box.add(Box.createVerticalStrut(20));
    box.add(Window.exit);
    box.add(Box.createVerticalStrut(20));

    pnlMenu.add(box);
    pnlMenu.add(new JPanel());
    pnlMenu.add(new JPanel());
    pnlMenu.add(new JPanel());
    pnlMenu.add(new JPanel());

    pnlMenu2.add(Window.lblVersion);

    System.out.println("Window class loaded");

}

И вот как выглядит мой класс меню в данный момент (это то, что раньше обрабатывало все, что связано с кнопками и надписями, кроме их создания).

package menu;

import main.Window;

public class Menu
{   
    public Menu()
    {
    Listener listener = new Listener();

    //Add ActionListeners
    Window.exit.addActionListener(listener);
    Window.playS.addActionListener(listener);
    Window.playM.addActionListener(listener);
    Window.options.addActionListener(listener);
    Window.language.addActionListener(listener);
    Window.btnBack.addActionListener(listener);

    System.out.println("Menu class loaded");
}
}

Ответы на вопрос(1)

Ваш ответ на вопрос