IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Probléme de gestion des evenements pour deux JComboBox


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Par défaut Probléme de gestion des evenements pour deux JComboBox
    Mon problémé se situe dans le fait que je veux récuperer deux attributs de deux JComboBox pour les utiliser dans le constructeur d'un Jpanel.
    Mais j'arrive pas à les récuperer et le Jpanel ne s'affiche pas.
    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
     
        ViewPanel dessin;
        Instances m_instances;
        private JComboBox liste_attX;
        private JComboBox liste_attY;
        private int index1=-1;
        private int index2=-1;
     
      public GridView(String s,int i,Instances inst){
           super (" Interface graphique :Fuzzy Grid");
           m_instances=new Instances(inst);
     
     
                 Container inter=buildContentPane();
     
               Container interieurB = getContentPane();
           interieurB.setLayout(new BorderLayout(5, 5));
               interieurB.add( inter, BorderLayout.NORTH);
                addWindowListener(this);
     
              liste_attX.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            liste_attX = (JComboBox) e.getSource();
                String ClassNameX = (String) liste_attX.getSelectedItem();
                index1 = m_instances.attribute(ClassNameX).index();
          }
        });
     
                  liste_attY.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            liste_attY = (JComboBox) e.getSource();
                String ClassNameY = (String) liste_attY.getSelectedItem();
                index2 = m_instances.attribute(ClassNameY).index();
          }
        });
     
     
               if((index1!=-1) && (index2!=-1)){
              dessin=new ViewPanel(inst,index1,index2);
              interieurB.add( dessin, BorderLayout.CENTER);
               dessin.setVisible(true);
     
               }
     
     
       }
     
     
     
     
    private JPanel buildContentPane(){
     
        JPanel panel = new JPanel();
        panel.setLayout(new FlowLayout());
     
        panel.setBackground(Color.WHITE);
        Object[] items=new Object[m_instances.numAttributes()-1];
     
        for(int k=0;k<m_instances.numAttributes()-1;k++){
            items[k]=m_instances.attribute(k).name();
                     }
     
     
       JLabel labelX = new JLabel("L'attribut de l'axe X\n");
       panel.add(labelX);
     
       liste_attX=new JComboBox(items); 
       panel.add(liste_attX);
     
       JLabel labelY = new JLabel("L'attribut de l'axe Y\n");
       panel.add(labelY);
       liste_attY=new JComboBox(items); 
       panel.add(liste_attY);
     
      return panel;
      }
    SVP,aider moi en signalant l'erreur ou proposer une autre maniére de faire.
    Merci.

  2. #2
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Par défaut Solution
    Pour ceux qui peuvent avoir le même probléme que moi:
    Voici les changements que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
     
        ViewPanel dessin;
        Instances m_instances;
        private JComboBox liste_attX;
        private JComboBox liste_attY;
        private Button visualize;
        private int index1=0;
        private int index2=2;
     
     
     public GridView(String s,final Instances inst){
           super (" Interface graphique :Fuzzy Grid");
           m_instances=new Instances(inst);       
     
     
     
                 Container inter=buildContentPane();
     
               final Container interieurB = getContentPane();
    	   interieurB.setLayout(new BorderLayout(5, 5));
               interieurB.add( inter, BorderLayout.NORTH);
                addWindowListener(this);
     
     
              visualize.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent e) {
     
                interieurB.remove(dessin);    
     
              String ClassNameX = (String) liste_attX.getSelectedItem();
                index1 = m_instances.attribute(ClassNameX).index();                
     
     
               String ClassNameY = (String) liste_attY.getSelectedItem();
               index2 = m_instances.attribute(ClassNameY).index();
     
              dessin=new ViewPanel(inst,index1,index2);        
     
              dessin.repaint();              
     
             interieurB.add( dessin, BorderLayout.CENTER);
             interieurB.repaint();
     
                   }
              }); 
     
               if((index1!=-1) && (index2!=-1)){
             dessin=new ViewPanel(inst,index1,index2);
             interieurB.add( dessin, BorderLayout.CENTER);
     
     
              }
     
     
     
       }
     
     
     
     
     
       private JPanel buildContentPane(){
    JPanel panel = new JPanel();
    panel.setLayout(new FlowLayout());
     
    panel.setBackground(Color.WHITE);
    Object[] items=new Object[m_instances.numAttributes()-1];
        for(int k=0;k<m_instances.numAttributes()-1;k++){
            items[k]=m_instances.attribute(k).name();
                     }
     
     
    JLabel labelX = new JLabel("L'attribut de l'axe X\n");
    panel.add(labelX);
    liste_attX=new JComboBox(items);
     
     
    panel.add(liste_attX);
     
    JLabel labelY = new JLabel("L'attribut de l'axe Y\n");
    panel.add(labelY);
    liste_attY=new JComboBox(items); 
     
     
    panel.add(liste_attY);
    visualize=new Button("Visualize");
    panel.add(visualize);
     
    return panel;
               }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 15/02/2006, 15h45
  2. Question des gestions des genres pour livre, BD...
    Par Oberown dans le forum Schéma
    Réponses: 3
    Dernier message: 16/09/2004, 17h58
  3. [C#] Gestion des evenements
    Par zebulix13 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/06/2004, 19h40
  4. Gestion des modifications pour un enregistrement
    Par Pascal Jankowski dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2004, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo