Я пытаюсь заставить элемент Java Swing JMenuBar
работать правильно. Мое приложение имеет несколько элементов меню. Проблема заключается в том, что пользователь уменьшает размер окна до размера элементов меню. Случается, что элементы меню становятся сжатыми, а endup перекрывают друг друга, а не используют больше строк. Есть ли способ иметь элементы JMenuBar
JMenu
, чтобы сломать линию, когда места недостаточно?Элементы SWING JMenuBar JMenu сжаты, а не ломают линию. Как исправить это поведение
ExampleCode:
frame = new JFrame();
frame.setBounds(100, 100, 722, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
frame.getContentPane().add(menuBar, BorderLayout.NORTH);
JMenu mnNewMenu = new JMenu("New menu");
menuBar.add(mnNewMenu);
JMenu mnNewMenu_1 = new JMenu("New menu");
menuBar.add(mnNewMenu_1);
JMenu menu = new JMenu("New menu");
menuBar.add(menu);
JMenu menu_1 = new JMenu("New menu");
menuBar.add(menu_1);
JMenu menu_2 = new JMenu("New menu");
menuBar.add(menu_2);
JMenu menu_3 = new JMenu("New menu");
menuBar.add(menu_3);
JPanel split = new JPanel();
frame.getContentPane().add(split, BorderLayout.CENTER);
split.setLayout(new BorderLayout(0, 0));
JPanel panel = new JPanel();
JButton btnNewButton = new JButton("New button");
JButton btnNewButton_1 = new JButton("New button");
JButton btnNewButton_2 = new JButton("New button");
split.add(panel, BorderLayout.CENTER);
JLabel lblTextContentBla = new JLabel("Text content bla bla bla");
panel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
panel.add(btnNewButton);
panel.add(btnNewButton_1);
panel.add(btnNewButton_2);
panel.add(lblTextContentBla);
Скриншоты:
- Первый скриншот исходного состояния пример.
- Второй скриншот показывает нежелательный эффект сжатия.
- Lastpicture показывает пример того, как это должно выглядеть.
(PD:. Является ли StackOverflow сломаны Когда я отправляю фотографии он говорит, что он нашел отформатированный код Если бы размещать ссылки как код, без предварительного просмотра, чтобы заставить его работать .. ??)