Мне нужна помощь с JMenuItem. Я не писал ни одной строки о стрелке на JMenuItem. Итак, как отключить это? Здесь изображение:
Позвольте мне попытаться воспроизвести этот вопрос.
JMenuItem
в JMenu
а затем в JMenuBar
.образец кода: (без проблем)
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("A Menu");
JMenu submenu = new JMenu("A submenu");
JMenuItem menuItem = new JMenuItem("Another item");
submenu.add(menuItem); //comment this line and look the output
menu.add(submenu);
menuBar.add(menu);
JMenu
прямо в JMenuBar
без JMenuItem
.пример кода: (Это создает проблему)
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("A Menu");
JMenu submenu = new JMenu("A submenu");
menu.add(submenu);
menuBar.add(menu);
JMenuItem
прямо в JMenuBar
.образец кода: (без проблем)
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("A Menu");
JMenuItem menuItem = new JMenuItem("Another item");
menu.add(menuItem);
menuBar.add(menu);
Теперь проблема кристально чиста, если она JMenuItem
узел, а затем добавляет JMenuItem
вместо JMenu
в JMenuBar
.
У меня была такая же проблема с JavaFX, что и мои MenuItems со всеми стрелками.
Благодаря ответу @Braj я понял, что создаю свои объекты таким образом:
MenuItem saveMenu = new Menu();
вместо
MenuItem saveMenu = new MenuItem();
Это, конечно, работает на Java благодаря полиморфизму, но создало этот побочный эффект в моем приложении. При этом это может помочь вам лучше организовать ваши меню с помощью древовидной структуры, например Save> Save to File/Save to DB/Save As...