Il existe deux types de menus: un menu déroulant et un menu contextuel. Ce chapitre ne traite que de la méthode de programmation du menu déroulant. Le menu est différent de JCombobox et JCheckbox, et ils sont toujours visibles dans l'interface. La même chose à propos du menu avec jcombobox est qu'un seul élément peut être sélectionné à la fois.
La sélection d'une option dans le menu déroulant ou le menu contextuel génère un événement ActionEvent. L'événement est envoyé au moniteur de cette option, et la signification de l'événement s'explique par le moniteur.
Barres de menu, menus et éléments de menu
Le menu déroulant est visualisé par le nom qui apparaît sur la barre de menu. Il existe deux façons d'activer le menu déroulant. L'une consiste à appuyer sur le bouton de la souris et à le garder enfoncé, à déplacer la souris jusqu'à ce que la souris soit libérée pour terminer la sélection, et l'élément de menu affiché avec une luminosité élevée est sélectionné. Une autre façon consiste à cliquer sur la souris lorsque le curseur est sur le nom du menu dans la barre de menu, auquel cas le menu se développe et les éléments de menu sont affichés avec une luminosité élevée.
Une barre de menu peut contenir plusieurs menus (JMenu), et chaque menu peut avoir de nombreux éléments de menu (JMenuItem). Par exemple, les barres de menu de l'environnement Eclipse incluent le fichier, l'édition, la source, le refactor et d'autres menus, et chaque menu a de nombreux éléments de menu. Par exemple, le menu Fichier comprend des éléments de menu tels que un nouveau fichier ouvrir, fermer, fermer tout.
La méthode d'ajout de menus à la fenêtre est: Créez d'abord un objet de menu, puis créez plusieurs objets de menu, placez ces objets de menu dans la barre de menu, puis ajoutez des éléments de menu à chaque objet de menu selon les besoins.
Les éléments de menu dans le menu peuvent également être un menu complet. Étant donné que l'élément de menu peut à nouveau être un autre menu complet, une structure de menu hiérarchique peut être construite.
1. Bar de menu
Un exemple de JMenubar est une barre de menu. Par exemple, le code suivant crée un objet Menubar MenUbar:
JMenubar MenUbar = new JMenubar ();
Pour ajouter une barre de menu dans la fenêtre, vous devez utiliser la méthode setjMenubar () dans la classe JFrame. Par exemple, code:
setjMenubar (Menubar);
Les méthodes courantes de JMenubar sont:
2. Menu <br /> L'objet créé par la classe JMenu est le menu. Les méthodes courantes de la classe JMENU sont les suivantes:
3. Élément de menu <br /> Un exemple de classe JMenuem est un élément de menu. Les méthodes courantes de la classe JMenuItem sont les suivantes:
4. Gire les événements du menu <br /> La source d'événement du menu consiste à cliquer sur un élément de menu avec la souris. L'interface qui gère cet événement est ActionListener, et la méthode d'interface à implémenter est ActionPerformed (ActionEvent E), et la méthode pour obtenir la source d'événement getSource ().
[Exemple] La méthode d'implémentation de la petite fenêtre du schéma d'application a une barre de menu. Il y a un bouton. Lorsqu'un élément de menu est sélectionné, la méthode de surveillance de l'élément de menu affiche l'élément de menu correspondant sélectionné dans la zone de texte.
Importer java.applet. * Importer javax.swing. *; import java.awt. *; import java.awt.event. *; class menuwindow étend jframe implémente ActionListener {public static jtexfield text; , ActionListener Écouteur) {JMeUiTem anitem = new JMeUiTem (Menuname); (s); ; "Chant", ceci); ; ! ");}} classe publique Exemple6_5 étend Applet implémente ActionListener {MenuWindow Window; Button JBUTTON; Boolean Bflg; public void init () {Button = new JBUT TON (" Ouvrir ma fenêtre sportive et de divertissement "); bflg = true; Windows; = New MenuWindow ("Fenêtre Sports et de divertissement", 100,100); ) {Windows.SetVisible (true); Bflg = false; ":::::::::::::::::::::::::::::::::::- : :::::::::::::::::::::::::::::::::::- ::::::::::::::::::::::::::::);}}}}} 5. ENCHED SOMMENU <BR /> Un menu est créé et plusieurs éléments de menu sont créés, et l'un des éléments de menu est un autre menu (y compris d'autres éléments de menu), qui constitue un nidification du menu. Par exemple, modifiez le code pertinent dans le programme ci-dessus à ce qui suit:
MENU MENU1, MENU2, ITEM4;
Insérez le code suivant pour créer des éléments du menu Item41 et Item42 et ajoutez-les au menu ITEM4:
point41 = new Menuem ("dongfanghong");
Ensuite, lorsque vous cliquez sur le menu Item4, deux éléments de menu seront ouverts pour la sélection.
6. Ajouter un élément de sortie au menu <br /> Ajouter un nouvel élément de menu pour ajouter une surveillance à l'élément de menu. . Par exemple, le code schématique suivant:
… Item7 = new MeniUtem ("exit"); item7.addactionListener (this);… public void ActionPerformed (actionEvent e) {if (e.getsource () == item7) {System.e xit (0);}} 7. Définissez les touches de raccourci pour les éléments de menu <Br /> Utilisez la classe Menushortcut pour définir les touches de raccourci pour les éléments de menu. La méthode de construction est Menushortcut (Key int). La clé peut être utilisée comme valeurs keyevent.vk_a à kenevent.vk_z, ou comme valeur de code de clé «A» à «z». Éléments de menu Utilisez la méthode SetShortcut (Menushortcut K) pour définir les touches de raccourci. Par exemple, le code suivant définit la lettre E comme une clé de raccourci.
Class Herwindow étend le trame ActionListener {MenUbar MenUbar;Sélectionnez les éléments du menu de la boîte
Le menu peut également contenir des options avec des états de sélection persistants, et ce menu spécial peut être défini par la classe JCheckBoxMenuem. Comme une boîte de sélection, l'objet JCheckBoxMenuItem peut indiquer si une option est sélectionnée ou non, ou elle peut être ajoutée au menu déroulant comme élément de menu. Lorsque vous cliquez sur le menu JCheckBoxMenuem, le symbole de tick apparaît sur le côté gauche ou efface le symbole de tick. Par exemple, dans la classe MenuWindow du programme dans l'exemple 6.5, mettez le code
addItem (menu1, "Running", this);
La réécrire dans le code suivant, modifiant les deux éléments de menu ordinaires "en cours d'exécution" et "Exécuter le saut" en deux éléments de menu de la boîte de sélection:
JCHECKBOXMANDEM ITEMS 1 "Skip Rope"); item2.AddactionListener (this); menu1.add (item2);