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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295
|
import java.awt.Color;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Fenetre extends JFrame{
//declaration des element de menu :
private JMenuBar menuBar = new JMenuBar();
private JMenu OPP = new JMenu("Opperation");
private JMenu Cons = new JMenu("Consultation");
private JMenuItem item1 = new JMenuItem("Inscription");
private JMenuItem item2 = new JMenuItem("Modification");
private JMenuItem item3 = new JMenuItem("Suppression");
private JMenuItem item4 = new JMenuItem("Personnaliser");
private JMenuItem item5 = new JMenuItem("Tous les membres");
private JMenuItem item6 = new JMenuItem("Les membres non payes");
//fin de declaration de menu
//declaration des panels :
public Panneau container=new Panneau();//un JPanel
public PanelInscription Opperation=new PanelInscription();//jpanel Opperation
public PanelConnection Connection=new PanelConnection(); //jpanel Connexion
public PanelConsultation Consultation=null; //jpanel Consultation
private String genreOpp;/*une variable qui m'indique le jpanel affiche,elle peut prendre plusieurs valeurs(Ins=inscription,Mod=modification
Supp=suppression,Cons=consultation,Conn=connection)
*/
public Fenetre(){
this.setTitle("Association AFAk");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBackground(Color.white);
this.setResizable(false);
//Preparation des elements de menu
this.OPP.add(item1);
this.OPP.add(item2);
this.OPP.add(item3);
this.Cons.add(item5);
this.Cons.add(item6);
this.Cons.add(item4);
menuBar.add(OPP);
menuBar.add(Cons);
this.setJMenuBar(menuBar);
item1.addActionListener(new item1Listener());
item2.addActionListener(new item2Listener());
item3.addActionListener(new item3Listener());
item4.addActionListener(new item4Listener());
item5.addActionListener(new item5Listener());
item6.addActionListener(new item6Listener());
item1.setEnabled(false);
item2.setEnabled(false);
item3.setEnabled(false);
item4.setEnabled(false);
item5.setEnabled(false);
item6.setEnabled(false);
//fin de preparation des elemnt de menu
this.setSize(720,420);
this.setLocationRelativeTo(null);
//Au demarrage de lapplication j'affiche le jpanel de connection pour ke l'user puisse se connecter
container.setLayout(new BorderLayout());
container.add(Connection,BorderLayout.EAST);
//et j'initialise la variable genreOpp avec Conn
genreOpp="Conn";
this.setContentPane(container); //et j'ajoute le container a ma fenetre
this.setVisible(true);
}
private void getInscription(){//une methode appelee au moment du clique sur Inscription(element 1 de menu 1)
//un teste sur le JPanel courant avant de le changer
if(genreOpp.equals("Cons"))
{//Si le jpanel courant est Consultation je le supprime et je le remplace par Opperation
this.container.remove(Consultation);
this.container.add(Opperation,BorderLayout.EAST);
this.setContentPane(container);
}
//Si nn quelque changement sur le jpanel Opperation
this.Opperation.set_Genre_Opp("Ins");
this.Opperation.ViderChamps(this.Opperation.get_Genre_opp());
item1.setEnabled(false);
item2.setEnabled(true);
item3.setEnabled(true);
item4.setEnabled(true);
item5.setEnabled(true);
item6.setEnabled(true);
}
private void getModification(){//une methode appelee au moment du clique sur Inscription(element 2 de menu 1)
//un teste sur le JPanel courant avant de le changer
if(genreOpp.equals("Cons"))
{//Si le jpanel courant est Consultation je le supprime et je le remplace par Opperation
this.container.remove(Consultation);
this.container.add(Opperation,BorderLayout.EAST);
this.setContentPane(container);
}
//Si nn quelque changement sur le jpanel Opperation
this.Opperation.set_Genre_Opp("Mod");
this.Opperation.ViderChamps(this.Opperation.get_Genre_opp());
this.Opperation.setSearchForModify(false);
item1.setEnabled(true);
item2.setEnabled(false);
item3.setEnabled(true);
item4.setEnabled(true);
item5.setEnabled(true);
item6.setEnabled(true);
}
private void getSuppression(){//une methode appelee au moment du clique sur Inscription(element 3 de menu 1)
//un teste sur le JPanel courant avant de le changer
if(genreOpp.equals("Cons"))
{//Si le jpanel courant est Consultation je le supprime et je le remplace par Opperation
this.container.remove(Consultation);
this.container.add(Opperation,BorderLayout.EAST);
this.setContentPane(container);
}
//Si nn quelque changement sur le jpanel Opperation
this.Opperation.set_Genre_Opp("Supp");
this.Opperation.ViderChamps(this.Opperation.get_Genre_opp());
item1.setEnabled(true);
item2.setEnabled(true);
item3.setEnabled(false);
item4.setEnabled(true);
item5.setEnabled(true);
item6.setEnabled(true);
}
private void getConsultationPersonnaliser(){//une methode appelee au moment du clique sur Consultation Personnaliser(element 3 de menu 2)
//un teste sur le JPanel courant avant de le changer
if(genreOpp.equals("Cons"))
{
//Si le jpanel courant est Consultation je le supprime et je le remplace par Opperation
this.container.remove(Consultation);
this.container.add(Opperation,BorderLayout.EAST);
this.setContentPane(container);
}
//Si nn quelque changement sur le jpanel Opperation
this.Opperation.set_Genre_Opp("Cons");
this.Opperation.ViderChamps(this.Opperation.get_Genre_opp());
item1.setEnabled(true);
item2.setEnabled(true);
item3.setEnabled(true);
item4.setEnabled(false);
item5.setEnabled(true);
item6.setEnabled(true);
}
private void getConsultationAllMembre(){//une methode appelee au moment du clique sur Consultet tous les membres(element 1 de menu 2)
List<Membre> mesMembres=null;
String requete="select * from membres ";
try {
mesMembres=AcceeMysql.chercher(requete);//AcceeMysql est une classe qui effectue des opperation sur la base de donnees mysql
} catch (Exception e) {
// TODO Bloc catch auto-généré
e.printStackTrace();
}
// mesMenbres c'est une liste qui contient les membres disponible
if(mesMembres!=null)//Avant de chnager le jpanel je teste si la liste n'est pas vide
{
ChangePanelToCons(mesMembres,requete);//appele de la mathode : chnager panel to consultation
this.Opperation.set_Genre_Opp("Cons");
item1.setEnabled(true);
item2.setEnabled(true);
item3.setEnabled(true);
item4.setEnabled(true);
item5.setEnabled(false);
item6.setEnabled(true);
}
else
{//si la liste est vide j'affiche un message :
JOptionPane.showMessageDialog(null, "Aucun membre trouve !!", "Information", JOptionPane.INFORMATION_MESSAGE);
}
}
private void ConsultationNonPaye(){//une methode appelee au moment du clique sur Consultet les membres non paye(element 2 de menu 2)
List<Membre> mesMembres=null;
String requete="select membres non payes";
try {
mesMembres=AcceeMysql.chercher(requete);
} catch (Exception e) {
// TODO Bloc catch auto-généré
e.printStackTrace();
}
// mesMenbres c'est une liste qui contient les membres qui n'ont pas paye
if(mesMembres!=null)
{//Avant de chnager le jpanel je teste si la liste n'est pas vide
ChangePanelToCons(mesMembres,requete);//appele de la mathode : chnager panel to consultation
this.Opperation.set_Genre_Opp("Cons");
item1.setEnabled(true);
item2.setEnabled(true);
item3.setEnabled(true);
item4.setEnabled(true);
item5.setEnabled(true);
item6.setEnabled(false);
}
else
{//si la liste est vide j'affiche un message :
JOptionPane.showMessageDialog(null, "Aucun membre non paye trouve !!", "Information", JOptionPane.INFORMATION_MESSAGE);
}
}
//les classes listeners sur les elements de menus :
class item1Listener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
getInscription();
}
}
class item2Listener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
getModification();
}
}
class item3Listener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
getSuppression();
}
}
class item4Listener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
getConsultationPersonnaliser();
}
}
class item5Listener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
getConsultationAllMembre();
}
}
class item6Listener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
ConsultationNonPaye();
}
}
//fin d'implementation des classe listeners sur les elements de menus
//le probleme est ici :dans cette methode
public void ChangePanelToCons(List<Membre> mesMembres,String requete){
//a l'appel de cette fonction je cree un new jpanel Consultation qui va contenir une liste des membres selon la liste passee en parametre
//la variable requete contient la requete personnalise par l'user afin de mettre a jour la liste au moment de changement
Consultation=new PanelConsultation(mesMembres,requete);
//je teste si le jpanel courant et Consultation
if(genreOpp.equals("Cons")) Bloc ou ya le probleme
{
container.remove(Consultation);//je le supprime
//!!!!!cest ici le probleme .il ne supprime pas
container.add(Consultation,BorderLayout.EAST);//je le remplace par le new jpanel de type consultation
this.setContentPane(container);
}
else
{
//Si le jpanel actuel est Opperation
container.remove(Opperation);//je le supprime
container.add(Consultation,BorderLayout.EAST);//je le remplace par Consultation
this.setContentPane(container);
genreOpp="Cons";
}
}
//fin
//cette methode est appelee apres le clique sur le bouton se connecter et l'execution des instructions de verification de login et password
public void set_connecion(){
item1.setEnabled(true);
item2.setEnabled(true);
item3.setEnabled(true);
item4.setEnabled(true);
item5.setEnabled(true);
item6.setEnabled(true);
getInscription();
container.remove(Connection);
container.add(Opperation,BorderLayout.EAST);
genreOpp="Opp";
this.setContentPane(container);
}
//methode set de la variable genreOPP
public void setGenreOPP(String s)
{
genreOpp=s;
}
//methode get de la variable genre Opp
public String getGenreOpp(){
return genreOpp;
}
} |
Partager