Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java > AWT/SWING
AWT/SWING
Forum d'entraide pour les API Swing et AWT. Avant de poster -> FAQ AWT/SWING
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 09/12/2012, 20h38   #1
ensemien
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : 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 : 31
Points : 31
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 : )
ensemien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2012, 23h01   #2
ensemien
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : 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 : 31
Points : 31
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.
ensemien est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h32.


 
 
 
 
Partenaires

Hébergement Web