Salut!
Le mieux est de passer une AbstractAction dasn le constructeur de tes JMenuItem.
Ci-dessous, seule l'action du menu "File" - "Exit" est implémentée.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
/**
* Created on 14-avr.-07
*
* @author: HackTrack
*/
public class DemoMenu extends JMenuBar {
public DemoMenu() {
super();
initializeMenu();
}
private void initializeMenu() {
JMenu menu_file = new JMenu("File");
JMenuItem menu_file_open = new JMenuItem("Open");
JMenuItem menu_file_close = new JMenuItem("Close");
JMenuItem menu_file_exit = new JMenuItem("Exit");
menu_file_exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.exit(0);
}
});
menu_file.add(menu_file_open);
menu_file.add(menu_file_close);
menu_file.add(menu_file_exit);
add(menu_file);
JMenu menu_edit = new JMenu("Edit");
JMenuItem menu_edit_copy = new JMenuItem("Copy");
JMenuItem menu_edit_cut = new JMenuItem("Cut");
JMenuItem menu_edit_paste = new JMenuItem("Paste");
menu_edit.add(menu_edit_copy);
menu_edit.add(menu_edit_cut);
menu_edit.add(menu_edit_paste);
add(menu_edit);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setJMenuBar(new DemoMenu());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
;-)
HackTrack