Evenements sur un menu

le_barisien Messages postés 10 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 7 décembre 2005 - 30 oct. 2004 à 18:10
cs_Draven Messages postés 62 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 8 octobre 2006 - 4 nov. 2004 à 11:25
Comment mettre un événement dans un menu lorsque celui-ci contient une ou plusieurs commandes, je me doute qu'il faut utiliser le JMenuIteme mais je n'arrive pas à l'appliquer à un écouteur comme je le fais pour un JButton.

Même question pour un JComboBox

Merci

3 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
30 oct. 2004 à 19:06
hello,

tiens un chti exemple pour les menu c light mais bon

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

public class TestMenu extends JFrame implements ActionListener{
  JPanel content = new JPanel();
  JButton bt = new JButton();
  JPopupMenu popup = new JPopupMenu();
  JMenu menu = new JMenu();
  JMenuItem itemExit = new JMenuItem();
  public TestMenu() {
    bt.setText("jButton1");
    bt.addActionListener(this);
    menu.setText("Menu");
    itemExit.setText("Quitter");
    itemExit.addActionListener(this);
    getContentPane().add(content,  BorderLayout.CENTER);
    content.add(bt, null);
    popup.add(menu);
    menu.add(itemExit);
    setDefaultCloseOperation(3);
    setLocation(500,300);
    pack();
    show();
  }
  public static void main(String [] args){
    new TestMenu();
  }

  public void actionPerformed(ActionEvent e) {
    if(e.getSource().equals(bt)){
      popup.show(bt, bt.getWidth(),0);
    }
    if(e.getSource().equals(itemExit)){
      System.exit(0);
    }
  }
}
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
30 oct. 2004 à 19:32
re ça c'est pour le jcombobox

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

public class TestCombo extends JFrame implements ActionListener{
  JPanel content = new JPanel();
  JComboBox cb;
  public TestCombo() {
    getContentPane().add(content,  BorderLayout.CENTER);
    Vector list = new Vector();
    String [] sz = {
        "item1", "item2", "item3", "item4"
    };
    for(int i = 0; i < sz.length; i++)
      list.add(new Data(i, sz[i]));
    cb = new JComboBox(list.toArray());
    setDefaultCloseOperation(3);
    cb.addActionListener(this);
    content.add(cb, null);
    setLocation(500,300);
    pack();
    show();
  }
  public static void main(String [] args){
    new TestCombo();
  }

  public void actionPerformed(ActionEvent e) {
    if(e.getSource().equals(cb)){
      Data d = (Data)cb.getSelectedItem();
      for(int i = 0; i < cb.getItemCount(); i++)
        if(d.getId() == i){ Affiche("id : " + i + " param : " + d.toString());}
    }
  }
  private void Affiche(String s){
    JOptionPane.showMessageDialog(null, s, "message",
                                  JOptionPane.ERROR_MESSAGE);
  }
  private class Data{
    private  String param;
    private  int    id;

    public Data(int id, String param){
      this.id    = id;
      this.param = param;
    }
    public int getId(){ return id; }
    public String toString(){ return param; }
  }
}

0
cs_Draven Messages postés 62 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 8 octobre 2006
4 nov. 2004 à 11:25
J'avais mis en ligne un exemple d'application avec un menu. Cet exemple permet de comprendre comment ajouter un menu et de traiter les évements de celui-ci.

http://www.javafr.com/code.aspx?id=15687

Bon je dois bien avouer qu'après la réponse de Twinuts mon message n'apporte pas grand chose à par me faire un peu de pub. ;)
0
Rejoignez-nous