Les menus sont les composants les plus couramment utilisés dans les interfaces graphiques. Les menus ne sont pas des sous-classes de la classe Component et ne peuvent pas être placés dans des conteneurs ordinaires. Ils ne sont pas contraints par le gestionnaire de présentation et ne peuvent être placés que dans la barre de menus.
Le composant menu se compose de trois parties : la barre de menus (MenuBar), le menu (Menu) et l'élément de menu (MenuItem). Une barre de menus se compose de plusieurs menus et un menu se compose de plusieurs éléments de menu. Généralement, la barre de menus est placée dans la fenêtre Frame, il suffit d'appeler la méthode setMenuBar() de la classe Frame.
Les menus couramment utilisés comprennent : les menus déroulants et les menus contextuels (affichés indépendamment et peuvent apparaître n'importe où).
1 : Étapes pour créer un menu déroulant :
1. Créez une barre de menus.
2. Appelez la méthode setMenuBar() de Frame pour ajouter la barre de menus au Frame.
3. Créez respectivement plusieurs objets Menu et ajoutez-les à MenuBar.
4. Pour chaque objet Menu, créez plusieurs objets MenuItem et ajoutez-les au Menu.
Exemple:
Copiez le code comme suit :
importer java.awt.* ;
classe publique MenuDemo {
Cadre f ;
MenuBarmb ;
Menu menuFichier ;
MenuItem mItemNew, mItemOpen, mItemSave ;
MenuDémo() {
f = new Frame("Mon instance de menu");
f.setBounds(300, 100, 400, 300);
mb = new MenuBar(); // Créer une barre de menuMenuBar
menuFichier = nouveau Menu("Fichier");
mItemNew = nouveau MenuItem("Nouveau");
mItemOpen = new MenuItem("Ouvrir");
menuFile.add(mItemNew);
mItemSave = new MenuItem("Enregistrer");
menuFile.add(mItemOpen);
//Ajouter une ligne de séparation
menuFile.addSeparator();
menuFile.add(mItemSave);
mb.add(menuFichier);
// Ajout du menu "Fichier" à la barre de menu
// setMenuBar : définit la barre de menus de ce formulaire sur la barre de menus spécifiée.
f.setMenuBar(mb);
f.setVisible(true);
}
public static void main (String[] arguments) {
nouveau MenuDémo();
}
}
Il y a des images et il y a des vérités : (Les éléments du menu déroulant ne peuvent pas être des captures d'écran)
2 : Étapes pour créer un menu contextuel :
1. Établissez d’abord le framework JFrame le plus basique.
2. Créez un menu contextuel par clic droit (JPopupMenu) et un élément de menu ajouté (JMenuItem 3. Utilisez la méthode add et la méthode insert pour ajouter ou insérer dans JPopupMenu 4. Affichez la fenêtre contextuelle en appelant la méthode show. correspondant au déclencheur du menu contextuel, vérifiez tous les événements MouseEvent pour voir s'il s'agit de déclencheurs de menu contextuel, puis affichez le menu contextuel le cas échéant.
Exemple:
Copiez le code comme suit :
importer java.awt.event.* ;
importer javax.swing.* ;
la classe publique JPopMenu_Demo étend JFrame {
// Implémentation du menu contextuel. Le menu contextuel est une petite fenêtre qui apparaît et affiche une série d'options.
JPopupMenu popupMenu ;
public JPopMenu_Demo() {
super("menu contextuel par clic droit"); // Appel du constructeur de la classe parent
// Instancie le menu contextuel
popupMenu = nouveau JPopupMenu();
//Ajouter des éléments de menu au menu
popupMenu.add(new JMenuItem("élément de menu"));
popupMenu.add(nouveau JButton("Bouton"));
popupMenu.add(new JLabel("Label"));
mesÉvénements();
setSize(350, 300); //Définir la taille de la fenêtre
setLocation(400, 200);
setVisible(true); // Définit la fenêtre pour qu'elle soit visible
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Quitter le programme à la fermeture de la fenêtre
}
private void mesEvénements() {
//Gestion des événements de souris dans la fenêtre
addMouseListener(nouveau MouseAdapter() {
//Cliquez sur la souris
public void mousePressed (événement MouseEvent) {
//Appelle la méthode triggerEvent pour gérer l'événement
triggerEvent(événement);
}
// relâche la souris
public void mouseReleased (événement MouseEvent) {
triggerEvent(événement);
}
private void triggerEvent (événement MouseEvent) { // gérer les événements
// isPopupTrigger() : indique si cet événement de souris déclenche un événement pour le menu contextuel de la plateforme.
si (event.isPopupTrigger())
// afficher le menu
popupMenu.show(event.getComponent(), event.getX(),
event.getY());
}
});
}
public static void main(String args[]) {
nouveau JPopMenu_Demo();
}
}
Il y a des photos et la vérité (mais c'est assez moche)
Trois : Formulaire à onglet :
1.Instructions de base :
2. Méthodes couramment utilisées :
Nous ajoutons plusieurs objets JPanel à JTabbedPanel. et puis encore
Ajoutez JTabbedPanel au formulaire, le code est le suivant :
Copiez le code comme suit :
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT); //Définir les coordonnées de l'onglet.
JPanel p1=nouveau JPanel();
JPanel p2=nouveau JPanel();
JPanel p3=nouveau JPanel();
JPanel p4=new JPanel(); //Créer plusieurs conteneurs
jp.add("Form1", p1);
jp.add("Formulaire 2", p2);
jp.add("Form 3", p3);//Ajouter un sous-conteneur et ajouter un nom à l'onglet
this.add(jp,BorderLayout.CENTER); //Ajouter le formulaire à onglets au formulaire principal
3. Exemples de code et captures d'écran :
Copiez le code comme suit :
importer java.awt.* ;
importer javax.swing.* ;
/**
* <p>Titre : Démonstration de l'onglet</p>
* <p>Description : Voici une démonstration d'onglets. Cliquez sur différentes cartes pour afficher différents contenus</p>
*/
la classe publique JTabbedPaneDemo1 étend JPanel {
public JTabbedPaneDemo1() {
super(nouveau GridLayout(1, 1));
Icône ImageIcon = createImageIcon("images/MyIcon.gif");
JTabbedPane tabbedPane = new JTabbedPane();
Panneau de composants1 = makeTextPanel("#First Card#");
tabbedPane.addTab("One", icon, panel1, "Les informations de la première invite de carte !");
tabbedPane.setSelectedIndex(0);
Panneau de composants2 = makeTextPanel("##Second Card##");
tabbedPane.addTab("Deux", icon, panel2, "Les informations d'invite de la deuxième carte !");
Component panel3 = makeTextPanel("###La troisième carte###");
tabbedPane.addTab("Trois", icon, panel3, "Les informations d'invite de la troisième carte !");
Panneau de composants4 = makeTextPanel("####La quatrième carte####");
tabbedPane.addTab("Quatre", icon, panel4, "Les informations d'invite de la quatrième carte !");
//Ajouter un onglet au panneau
add(tabbedPane);
}
/**
* <br>
* Description de la méthode : Ajouter des informations à l'onglet<br>
* Paramètre d'entrée : texte de chaîne Contenu de l'information affiché<br>
* Type de retour : objet membre du composant
*/
Composant protégé makeTextPanel (texte de chaîne) {
Panneau JPanel = new JPanel(false);
JLabel filler = new JLabel(texte);
filler.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1, 1));
panel.add(filler);
panneau de retour ;
}
/**
* <br>
*Description de la méthode : obtenez une image<br>
* Paramètres d'entrée : chemin d'image du chemin de chaîne<br>
* Type de retour : objet image ImageIcon
*/
ImageIcon statique protégée createImageIcon (chemin de chaîne) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);
si (chemin != null) {
renvoie une nouvelle ImageIcon (chemin);
} autre {
System.out.println("Fichier introuvable : " + chemin);
renvoie null ;
}
}
public static void main (String[] arguments) {
// Utiliser la description du formulaire Swing
// JFrame.setDefaultLookAndFeelDecorated(true);
essayer {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} attraper (Exception e) {
}
//Créer un formulaire
Cadre JFrame = new JFrame("TabbedPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JTabbedPaneDemo1(), BorderLayout.CENTER);
// affiche le formulaire
frame.setSize(400, 200);
frame.setVisible(true);
}
}