Actionlistener pour jmenuitem

Contenu du snippet

Comment gerer le click de la souris sur un sous menu, avec classe interne
suite a la demande de Benabed !!

Source / Exemple :


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

/**

  • <p>Titre : demo d'utilisation d'un sous menu</p>
  • <p>Description : </p>
  • <p>Copyright : Copyright (c) 2002</p>
  • <p>Société : </p>
  • @author Squale!!
  • @version 1.0
  • /
public class JFrameMain extends JFrame { JMenuBar jMenuBar1 = new JMenuBar(); JMenu jMenuFile = new JMenu(); JMenuItem jMenuItemNew = new JMenuItem(); GridBagLayout gridBagLayout1 = new GridBagLayout(); JPanel jPanel1 = new JPanel(); JMenu jMenu1 = new JMenu(); public JFrameMain() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } /**
  • fonction principale
  • @param args
  • /
public static void main(String[] args) { JFrameMain jFrameMain = new JFrameMain(); jFrameMain.setSize(400,300); jFrameMain.setVisible(true); } /**
  • Initialisation graphique
  • @throws Exception
  • /
private void jbInit() throws Exception { this.setJMenuBar(jMenuBar1); jMenuFile.setText("File"); jMenuItemNew.setText("New..."); //ICI tu enregistre la fonction 'jMenuItemNew_mouseClicked()' aupres du MouseListener jMenuItemNew.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jMenuItemNew_actionPerformed(e); } }); this.getContentPane().setLayout(gridBagLayout1); jMenu1.setText("Aide"); jMenuBar1.add(jMenuFile); jMenuFile.add(jMenuItemNew); jMenuBar1.add(jMenu1); this.getContentPane().add(jPanel1, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0 ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); } /**
  • voici la fonction qui sera executee lors du click
  • note : tu peux enregistrer plusieurs methodes aupres du listener
  • mais l'ordre d'execution n'est pas garanti, en general c'est dans l'ordre inverse mais non garanti!!
  • @param e
  • /
void jMenuItemNew_actionPerformed(ActionEvent e) { //exemple JOptionPane.showMessageDialog(this,"Click souris pris en compte!!"); } }

Conclusion :


ici j'ai utilise la methode de l'adaptateur interne
Si qq'un veux la methode Adaptateur externe, qu'il demande

votre serviteur Squale GGrrrrrrrrrrrrrrr!!

A+

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.