Page 164 - 4836
P. 164
editMenu.add ( pasteMenu ) ;
menuBar.add ( fileMenu ) ;
menuBar.add ( editMenu ) ;
menuBar.add (Box.createHorizontalGlue ( )) ;
menuBar.add (new JLabel ( new ImageIcon ( " 2.gif " ))) ;
setJMenuBar (menuBar);
setSize ( 250,150 ) ;
}
Обробка команд меню
Кожен елемент меню по суті являє собою кнопку, тому
реагує на ті ж події і дозволяє приєднувати до себе тих самих
слухачів, що і кнопка. Тому ми можемо призначити реакцію
на команди меню точно також, як робили це вище. Наприклад,
щоб при виборі в меню елемента «Вийти» програма
припиняла свою роботу, слід замінити в прикладі команду
fileMenu.add ( new JMenuItem ("Вийти"));
на послідовність команд :
JMenuItem exit = new JMenuItem ("Вийти");
exit.addActionListener (new ActionListener () {
public void actionPerformed ( ActionEvent event ) {
System.exit ( 0 ) ;
} } ) ;
fileMenu.add (exit) ;
Командою System.exit (0) припиняється робота
поточного додатка.
Створення контекстного меню
Контекстне (або спливаюче ) меню реалізовано в класі
JPopupMenu, дуже схожому на клас JMenu. Відмітною
методом цього класу є метод show (Component comp, int x, int
y), що відображає меню в точці з заданими координатами
щодо меж заданого компонента.
162