Я написал приложение с Swing и добавил JMenuBar.Когда я запускаю приложение, я вижу JMenuItems при нажатии на JMenu.Но когда я изменяю размер окна, JMenuItems перезаписывается JButtons в моем приложении.Вот как это должно выглядеть:
Вот как это выглядит после изменения размера:
Я уже пытался изменить внешний вид, но это та же проблема.
Как я загружаю фрейм
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;
}