2015-05-15 4 views
1

Мой код:Как разместить два JMenuItems рядом друг с другом?

JMenuBar bar = new JMenuBar(); 
JMenu menu = new JMenu("Edit circle"); 
JMenuItem help = new JMenuItem("Help"); 
JMenuItem exit = new JMenuItem("Exit"); 

bar.add(menu); 
bar.add(help); 
bar.add(exit); 

Вывод JMenuBar:

OUTPUT

Я хочу выход быть что-то вроде этого:

EXPECTED_OUTPUT

Что мне нужно сделать сделать, чтобы получить ожидаемый результат?

+0

Если бы это было - я бы поставил 'Help' затем разделитель меню, затем' Exit' в 'Application' (или аналогичный)' JMenu' и добавьте его слева от меню «Редактировать круг». Я не вижу, что добавление пунктов меню непосредственно в JMenuBar будет хорошо работать, как показывают ваши эксперименты. –

+1

'Help' и' Exit' не являются 'JMenu', они должны быть добавлены в' JMenu' и должны быть добавлены в 'JMenuBar' – MadProgrammer

+0

@MadProgrammer, поэтому добавление' JMenuItem' в 'JMenuBar' выиграли Работа? Но у меня есть [эта проблема] (http://stackoverflow.com/questions/30255798/how-do-i-place-two-jmenuitems-adjacent-to-each-other#comment48612165_30256074). –

ответ

0

Вы не можете добавить JMenuItem в JMenuBar. так попробовать это .. это будет работать ..

JMenuBar bar = new JMenuBar(); 
    JMenu menu1 = new JMenu("Edit circle"); 
    JMenu help = new JMenu("Help"); 
    JMenu exit = new JMenu("Exit"); 
    bar.add(menu1); 
    bar.add(help); 
    bar.add(exit); 
    exit.addMenuListener(new MenuListener() { 

     @Override 
     public void menuSelected(MenuEvent e) { 
      System.out.println("Exiting"); 
     } 

     @Override 
     public void menuDeselected(MenuEvent e) { 
     } 

     @Override 
     public void menuCanceled(MenuEvent e) { 
     } 
    }); 

Вы не можете добавлять ActionListener к JMenu. использовать MenuListener ..

справка из this ...

+0

Это вызвало ожидаемый результат, но теперь нажатие 'help' и' exit' ничего не делает. Я добавил «ActionListener» для обоих из них. :( –

+0

'ActinoListener' не будет работать на' JMenu' .. для этого вам нужно использовать 'JMenuItem' или вы можете добавить' MenuListener' в меню 'exit' ... проверьте код ... – ELITE

+0

Я закончил использовать 'mouseListener'. Спасибо за помощь в любом случае. –

Смежные вопросы