JMenuBar перебрасывается JButtons - PullRequest
0 голосов
/ 19 сентября 2019

Я написал приложение с Swing и добавил JMenuBar.Когда я запускаю приложение, я вижу JMenuItems при нажатии на JMenu.Но когда я изменяю размер окна, JMenuItems перезаписывается JButtons в моем приложении.Вот как это должно выглядеть:

it should look like

Вот как это выглядит после изменения размера:

what it actually renders

Я уже пытался изменить внешний вид, но это та же проблема.

Как я загружаю фрейм

public void loadFrame() {

        frame = new JFrame("Minecraft Visual Stage Designer");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(new BorderLayout());

        threeDimensionalViewPanel = new ThreeDimensionalView();
        actionContentPanel = new ActionContentPanel();
        status = new JLabel("Loading MCVSD...");

        frame.getContentPane().add(threeDimensionalViewPanel, "Center");
        frame.getContentPane().add(actionContentPanel, "West");
        frame.getContentPane().add(status, "South");
        frame.setSize(1024, 768);

        Toolkit toolkit = Toolkit.getDefaultToolkit();
        Dimension screensize = toolkit.getScreenSize();

        frame.setJMenuBar(createMenuBar());
        frame.setLocation((screensize.width - frame.getWidth()) / 2, (screensize.height - frame.getHeight()) / 2);
        frame.setVisible(true);     

        status.setText("Loaded MCVSD!");

    }

Как я загружаю JMenuBar

private JMenuBar createMenuBar() {

    JMenuBar menuBar = new JMenuBar();

    JMenu fileMenu = new JMenu("File");
    JMenuItem newMenu = new JMenuItem("New Project...");
    JMenuItem loadMenu = new JMenuItem("Load Project...");
    JMenuItem saveMenu = new JMenuItem("Save...");
    JMenuItem saveAsMenu = new JMenuItem("Save as...");
    JMenuItem exportMenu = new JMenuItem("Export Project...");
    JMenuItem settingsMenu = new JMenuItem("Settings...");
    JMenuItem exitMenu = new JMenuItem("Exit");

    fileMenu.add(newMenu);
    fileMenu.add(loadMenu);
    fileMenu.add(saveMenu);
    fileMenu.add(saveAsMenu);
    fileMenu.addSeparator();
    fileMenu.add(exportMenu);
    fileMenu.addSeparator();
    fileMenu.add(settingsMenu);
    fileMenu.addSeparator();
    fileMenu.add(exitMenu);

    //other menus

    menuBar.add(fileMenu);

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