Tutoriel de création de jmenu + liens

Contenu du snippet

La création de menu est une chose longue et plutot barbante. Mieux vaut avoir le meilleur algo possible. C'est celui-ci qui est pour moi le meilleur. On ne s'embete pas à déclarer toutes les variables, 1 suffit pour toutes les options. Et ca va plus vite pour le copier-coller...
Mais j'ai commenté directement dans le code donc je vous laisse voir :

Source / Exemple :


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**

  • Tutoriel de création de menus.
*
  • @author BlackWood
  • /
class MonMenu extends JMenuBar { // ** En attribut, les différents JMenu // On peut ajouter les sous-menus. JMenu * = new JMenu("*"); JMenu * = new JMenu("*"); (...) // 1 seul JMenuItem qui servira pour tous les menus // JRadioButtonMenuItem ou/et JCheckBoxMenuItem facultatifs. JMenuItem menuItem; // ** Constructeur public MonMenu() { // On construit chaque menu : // MENU menu {{ // Lettre raccourci menu.setMnemonic(KeyEvent.VK_#); // KeyEvent : voir JavaDoc // On construit pour chaque menu chaque options : // OPTION * {{ // Création de l'option et de la lettre raccourci menuItem = new JMenuItem("*",KeyEvent.VK_#); // Raccourci-CTRL - facultatif menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_#, ActionEvent.CTRL_MASK)); // Ajout au gestionnaire d'événément menuItem.addActionListener(new Action()); // Ajout au menu menu.add(menuItem); // }} Recommencez pour chaque options // N'oubliez pas, quand vous le voulez : fichier.addSeparator(); // Ajout à la barre this.add(menu); // }} Recommencez pour chaque menu } // ** Gestionnaire d'événements du menu. class Action implements ActionListener { public void actionPerformed(ActionEvent e) { // On repère la source JMenuItem source = (JMenuItem)(e.getSource()); // Et pour chaque option : if(source.getText() == "*") *(); if(source.getText() == "*") *(); (...) // Exemple : if(source.getText() == "Ouvrir...") ouvrir(); } } // ** Méthodes des menu // Pour chaque option, on créera une méthode void *() {} // Exemple : void ouvrir() { // CODE } }

Conclusion :


Bon, bien sur, faut vraiment être neuneu pour pas avoir remarqué que le code n'est pas utilisable tel quel ! Mais il ne reste plus qu'à le creer. La structure est toute faite !
Voilà. Libre à vous d'adopter ma méthode ou de garder la votre.

Bon, puisqu'on ne doit pas mettre que des liens dans un source, je l'ajoute ici (dans le forum, c'est vite oublier). Ils sont vraiment TRES sympa mais de haut niveau. Réservé au developpeurs confirmé :
(Ce sont tous des jeux avec leurs sources)

http://www.javaonthebrain.com
Site d'un developpeur expérimenté. Ne manquez pas son fameux "IceBlox".

http://www.mazeworks.com
Site de jeux de réflexion, casse-têtes où vous trouverez les algo les plus tordus, de l'IA bien développé. Vraiment trés bon.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.