Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Nouveau Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2011
    Messages : 82
    Points : 30
    Points
    30

    Par défaut Classique : apparition de plusieurs fenêtres automatiquement

    Salut tous le monde

    dans ma Jframe j'ai deux panels :
    ---> panel_1 (contient un boutton ok) pour la Saisie (saisir 3 données)
    ---> panel_2 pour l'affichage du resultat sous forme de tabeau

    en bas de ma JFrame j'ai mis un boutton Ajouter (pour ajouter une nouvelle ligne à la liste qui s'affiche dans panel_2 .

    pour mieux expliquer voici un cas d'utilisation :
    1. saisie de 3données (par exemple x,y,z)
    2. clique sur Ok
    3.affichage d'une table en fonction des 3données
    4.clique sur ajouter
    5.apparition de la fenetre (NewEtudiant) pour ajouter une nouvelle ligne
    6 clique sur ajouter
    7.apparition de la fenetre (NewEtudiant) pour ajouter une nouvelle ligne
    8.cliquer sur ok (on garde les mêmes données x,y,z)
    9.affichage d'une table en fonction des 3données
    10.cliquer sur ajouter
    11.apparition de deux fenetres (NewEtudiant)

    normalement il doit avoir une seule fenetre newEtudiant
    et le probleme ne se pose que lorsque je clique sur OK

    je precise que le chargement de la table est associé au boutton ok ,car c'est à cet instant que je recupere les 3 données x,y et z .

    dans le constructeur j'ai mis
    Code :
    1
    2
    3
    4
    5
     
     btnOk = new JButton("ok");
    		    btnOk.addActionListener(new ButtonListener());
         		btnOk.setBounds(559, 7, 53, 23);
    			panelSaisie.add(btnOk);
    et comme classe interne j'ai mis
    Code :
    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
     
    class ButtonListener implements ActionListener {
    						  ButtonListener() {
    						  }
     
    						  public void actionPerformed(ActionEvent e) {
     
    						      System.out.println("okClick  :" +  oKclick  +"times ");
    						      oKclick ++;
     
     
    						      contentPane.remove(panelDisplay);
     
     
    						       btnAjouter.setEnabled(true);
     
     
    								panelDisplay = new JPanel();
    								panelDisplay.setBorder(new EtchedBorder(EtchedBorder.LOWERED, new Color(50, 205, 50), null));
    								panelDisplay.setBounds(10, 64, 643, 175);
    								contentPane.add(panelDisplay);
    								panelDisplay.setLayout(null);  
     
     
    								        String   filSel = comboFiliere.getSelectedItem().toString();
    								    	String  levSel = comboLevel.getSelectedItem().toString();
    									    String  yearSel = yearChooser.getYear()+"";
     
     
    									  TableModelEtudiantFly 	 modelEtudiant = new TableModelEtudiantFly(filSel,levSel,yearSel);
    									  JTable 	 tableGE = new JTable(modelEtudiant);
    							          tableGE.setAutoCreateRowSorter(true);
    									 JScrollPane scrollPaneGE = new JScrollPane(tableGE);
    									 scrollPaneGE.setBounds(18, 11,550, 125);
     
    								 	 panelDisplay.add(scrollPaneGE);
    									 btnSupprimer.setEnabled(true);
     
    							     	tableGE.addMouseListener(new Mouselistner(tableGE,modelEtudiant)); 
     
    							     	 					 btnAjouter.addActionListener(new ButtonAddListner(modelEtudiant));
     
     
       }
     
    						    }
    et voici la classe interne associé au boutton ajouter
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    class ButtonAddListner implements ActionListener {
     
    			TableModelEtudiantFly modeleEtudiant;
    			  ButtonAddListner(TableModelEtudiantFly modeleEtudiant) {
     
    				  this.modeleEtudiant =modeleEtudiant;
    			  }
     
    			  public void actionPerformed(ActionEvent e) {
     
     
    				   System.out.println("addClick  :" + addClick  +"times ");
    				      addClick++;
    					new NewEtudiant(modeleEtudiant).setVisible(true) ;
     
    	        } 
       }

    je pense que le probleme provient de actionListener associé au boutton ok ,mais franchement je ne sais pas une autre facon de faire les choses

    votre aide s'il vous plait : )

  2. #2
    Nouveau Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2011
    Messages : 82
    Points : 30
    Points
    30

    Par défaut

    Salut
    Sauf autre proposition de votre part ,j'ai reglé mon probleme de cette facon :
    j'ai declaré mon modele et ma Jtable Global ,
    et j'ai associé un actionListener au boutton Ajouter ,mais cette fois ci dans le constructeur de la classe UIEtudiant (et non pas dans la classe interne ButtonListener )

    je suis en attente d'une confirmation ,ensuite je metterai ce probleme en Resolu.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •