import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import javax.swing.text.MaskFormatter; import java.text.ParseException; import java.beans.*; public class FormulaireA extends JPanel implements ItemListener,ActionListener { private insert_DB iDB=new insert_DB(); private MaskFormatter formatter; private MaskFormatter formatterDate; boolean urg=false; boolean prog=false; boolean navig=false; boolean trafic_ro=false; boolean trafic_fe=false; //Panel Nord private JPanel PanelNorth = new JPanel(); private JPanel PanelNorth11 = new JPanel(); //information concernant le nom private JLabel Nom = new JLabel("Nom du demandeur"); private JTextField Nombis= new JTextField(""); //information concernant le numero de la fiche d'intervantion private JLabel Numero = new JLabel("Numero"); private JLabel Numerobis = new JLabel(""); private JPanel PanelNorth12 = new JPanel(); //information concernant le demandeur private JLabel Demandeur = new JLabel("Service Demandeur"); private JComboBox ComboDem = new JComboBox(iDB.getDemandeurs()); private JPanel PanelNorth13=new JPanel(); //information concernant la date de la fiche d'intervantion private JButton Date = new JButton("Date"); //private Date dat=new Date(); private JFormattedTextField Datebis; private JLabel Secteur=new JLabel(""); private JLabel Secteurbis= new JLabel(""); private JPanel PanelNorth21= new JPanel(); //case a cocher JCheckBox urgence=new JCheckBox("Urgence"); JCheckBox programme=new JCheckBox("Programmé"); private JPanel PanelNorth31= new JPanel(); //Heure private JLabel Heure=new JLabel("Heure :"); private JLabel vide= new JLabel(""); //information concernant l'heure de l'Date_deb private JLabel Date_deb=new JLabel("Date de début",JLabel.CENTER); private JFormattedTextField Date_debbis; private JPanel PanelNorth32=new JPanel(); private JLabel Heure_deb=new JLabel("Heure de début",JLabel.CENTER); private JFormattedTextField Heure_debbis; private JLabel Date_fin=new JLabel("Date de fin",JLabel.CENTER); private JFormattedTextField Date_finbis; private JPanel PanelNorth33=new JPanel(); private JLabel Heure_fin=new JLabel("Heure de fin",JLabel.CENTER); private JFormattedTextField Heure_finbis; private JLabel Fin=new JLabel("",JLabel.CENTER); private JFormattedTextField Finbis; private JPanel PanelNorth41= new JPanel(); //case a cocher private JLabel Type=new JLabel("Arrêt de :"); JCheckBox navigation=new JCheckBox("Navigation"); JCheckBox trafic_routier=new JCheckBox("Trafic routier"); JCheckBox trafic_ferroviaire=new JCheckBox("Trafic ferroviaire"); //ouvrage private JLabel Ouvrage=new JLabel("Ouvrage :"); private JLabel vide2= new JLabel(""); private JPanel PanelNorth51=new JPanel(); private JLabel Pont=new JLabel("Pont",JLabel.CENTER); private JComboBox ComboPont=new JComboBox(iDB.getPonts()); private JPanel PanelNorth52=new JPanel(); private JLabel Porte=new JLabel("Porte",JLabel.CENTER); private JPanel PanelNorth52South=new JPanel(); private JComboBox ComboPorte=new JComboBox(iDB.getPortes()); private JPanel PanelNorth521=new JPanel(); private JLabel Sas=new JLabel("Sas",JLabel.CENTER); private JComboBox ComboSas=new JComboBox(iDB.getSas()); private JPanel PanelNorth53=new JPanel(); private JLabel Vanne=new JLabel("Vanne",JLabel.CENTER); private JComboBox ComboVanne=new JComboBox(iDB.getVannes()); private JPanel PanelNorth61=new JPanel(); private JPanel PanelNorth62=new JPanel(); //Panel Sud private JPanel PanelSouth=new JPanel(); private JPanel PanelSouthNorth=new JPanel(); private JLabel ObjetOp=new JLabel("Objet de l'arrêt",JLabel.CENTER); private JTextArea ObjetOpbis=new JTextArea(10,15); private JScrollPane JS1; JCalendar c; //Bouton valider private JPanel JPtemp = new JPanel(); private JButton Valider=new JButton("Valider"); private ActionListener test; private FenetreConfirmation Fc; public FormulaireA() { int k=0; try { formatterDate = new MaskFormatter("**/**/****"); formatterDate.setPlaceholderCharacter('_'); formatterDate.setValidCharacters("0123456789_"); formatter = new MaskFormatter("**:**"); formatter.setPlaceholderCharacter('_'); formatter.setValidCharacters("0123456789_"); }catch(ParseException er){System.out.println(er);} Datebis = new JFormattedTextField(formatterDate); Date_debbis = new JFormattedTextField(formatterDate); Heure_debbis = new JFormattedTextField(formatter); Date_finbis = new JFormattedTextField(formatterDate); Heure_finbis = new JFormattedTextField(formatter); Finbis = new JFormattedTextField(formatter); Numerobis.setText(new Integer((k)).toString()); ComboDem.insertItemAt("",0); ComboPont.insertItemAt("",0); ComboPorte.insertItemAt("",0); ComboSas.insertItemAt("",0); ComboVanne.insertItemAt("",0); setLayout(new BorderLayout()); PanelNorth.setLayout(new GridLayout(8,3)); PanelNorth11.setLayout(new GridLayout(2,2)); PanelNorth11.add(Nom); Nom.setHorizontalAlignment(JLabel.CENTER); Nom.setOpaque(true); PanelNorth11.add(Nombis); PanelNorth11.add(Numero); Numero.setHorizontalAlignment(JLabel.CENTER); PanelNorth11.add(Numerobis); Numerobis.setHorizontalAlignment(JLabel.CENTER); PanelNorth12.setLayout(new GridLayout(2,2)); PanelNorth12.add(urgence); urgence.setHorizontalAlignment(JLabel.CENTER); PanelNorth12.add(programme); PanelNorth12.add(Demandeur); Demandeur.setHorizontalAlignment(JLabel.CENTER); PanelNorth12.add(ComboDem); urgence.addItemListener(this); programme.addItemListener(this); PanelNorth13.setLayout(new GridLayout(2,2)); PanelNorth13.add(Date); Date.addActionListener(this); //Date.setHorizontalAlignment(JLabel.CENTER); PanelNorth13.add(Datebis); Datebis.setHorizontalAlignment(JLabel.CENTER); PanelNorth13.add(Secteur); Secteur.setHorizontalAlignment(JLabel.CENTER); PanelNorth13.add(Secteurbis); Secteurbis.setHorizontalAlignment(JLabel.CENTER); PanelNorth.add(PanelNorth11); PanelNorth.add(PanelNorth12); PanelNorth.add(PanelNorth13); PanelNorth31.setLayout(new GridLayout(2,2)); PanelNorth31.add(Heure); PanelNorth31.add(Date_deb); PanelNorth31.add(vide); PanelNorth31.add(Date_debbis); Date_debbis.setHorizontalAlignment(JLabel.CENTER); PanelNorth32.setLayout(new GridLayout(2,2)); PanelNorth32.add(Heure_deb); PanelNorth32.add(Date_fin); PanelNorth32.add(Heure_debbis); Heure_debbis.setHorizontalAlignment(JLabel.CENTER); PanelNorth32.add(Date_finbis); Date_finbis.setHorizontalAlignment(JLabel.CENTER); PanelNorth33.setLayout(new GridLayout(2,2)); PanelNorth33.add(Heure_fin); PanelNorth33.add(Fin); PanelNorth33.add(Heure_finbis); Heure_finbis.setHorizontalAlignment(JLabel.CENTER); PanelNorth.add(new JLabel()); PanelNorth.add(new JLabel()); JPanel Test = new JPanel(); Test.setLayout(new BorderLayout()); PanelNorth.add(Test); PanelNorth.add(PanelNorth31); PanelNorth.add(PanelNorth32); PanelNorth.add(PanelNorth33); PanelNorth51.setLayout(new GridLayout(2,1)); PanelNorth51.add(Pont); PanelNorth51.add(ComboPont); PanelNorth52.setLayout(new GridLayout(2,1)); PanelNorth52.add(Porte); PanelNorth52.add(ComboPorte); PanelNorth521.setLayout(new GridLayout(2,1)); PanelNorth521.add(Sas); PanelNorth521.add(ComboSas); PanelNorth53.setLayout(new GridLayout(2,1)); PanelNorth53.add(Vanne); PanelNorth53.add(ComboVanne); PanelNorth.add(new JLabel()); PanelNorth.add(new JLabel()); PanelNorth.add(new JLabel()); PanelNorth.add(new JLabel("Ouvrage :")); PanelNorth.add(PanelNorth51); PanelNorth.add(PanelNorth52); PanelNorth.add(new JLabel()); PanelNorth.add(PanelNorth521); PanelNorth.add(PanelNorth53); PanelNorth.add(new JLabel()); PanelNorth.add(new JLabel()); PanelNorth.add(new JLabel()); PanelNorth61.setLayout(new GridLayout(1,2)); JLabel arret=new JLabel("Arrêt de :"); PanelNorth61.add(arret); PanelNorth61.add(navigation); PanelNorth62.setLayout(new GridLayout(1,2)); PanelNorth62.add(trafic_routier); PanelNorth62.add(trafic_ferroviaire); navigation.addItemListener(this); trafic_routier.addItemListener(this); trafic_ferroviaire.addItemListener(this); PanelNorth.add(PanelNorth61); PanelNorth.add(PanelNorth62); PanelNorth.add(new JLabel()); PanelSouth.setLayout(new BorderLayout()); PanelSouth.add(ObjetOp,BorderLayout.NORTH); PanelSouth.add(ObjetOpbis,BorderLayout.SOUTH); ObjetOpbis.setBackground(Color.lightGray); ObjetOpbis.setLineWrap(true); JS1 = new JScrollPane(ObjetOpbis); PanelSouth.add(JS1); add(PanelNorth,BorderLayout.NORTH); add(PanelSouth,BorderLayout.CENTER); JPtemp.setLayout(new BorderLayout()); JPtemp.add(Valider,BorderLayout.SOUTH); add(JPtemp,BorderLayout.SOUTH); Valider.addActionListener(this); ComboPorte.addActionListener(this); //GregorianCalendar dat=c.getCalendar(); //System.out.println("********"+c+"*******"); } public void itemStateChanged(ItemEvent evenement){ int etat=evenement.getStateChange(); if(etat==ItemEvent.SELECTED){ if(evenement.getItem()==urgence) { System.out.println("urgence selectionné"); urg=true; } if(evenement.getItem()==programme) { System.out.println("programmé selectionné"); prog=true; } if(evenement.getItem()==navigation) { System.out.println("navigation selectionné"); navig=true; } if(evenement.getItem()==trafic_routier) { System.out.println("trafic_routier selectionné"); trafic_ro=true; } if(evenement.getItem()==trafic_ferroviaire) { System.out.println("trafic_ferroviaire selectionné"); trafic_fe=true; } } if(etat==ItemEvent.DESELECTED){ if(evenement.getItem()==urgence) { System.out.println("urgence déselectionné"); urg=false; } if(evenement.getItem()==programme) { System.out.println("programmé déselectionné"); prog=false; } if(evenement.getItem()==navigation) { System.out.println("navigation déselectionné"); navig=false; } if(evenement.getItem()==trafic_routier) { System.out.println("trafic_routier déselectionné"); trafic_ro=false; } if(evenement.getItem()==trafic_ferroviaire) { System.out.println("trafic_ferroviaire déselectionné"); trafic_fe=false; } } } /*public void propertyChange(PropertyChangeEvent e) { if(e.getPropertyName().equals("_calendar")) { GregorianCalendar cal=(GregorianCalendar) e.getNewValue(); // code explitant la nouvelle valeur de la date } }*/ /*public void propertyChange(PropertyChangeEvent e) { System.out.println(e); if(e.getPropertyName().equals("_calendar")) { GregorianCalendar cal=(GregorianCalendar) e.getNewValue(); System.out.println("****cal****"+cal.get(Calendar.DAY_OF_MONTH)+"*******"); } }*/ public void actionPerformed(ActionEvent e) { String Superman="Veuillez renseigné les champs suivants :\n "; String PLUS=""; String Superman2="Erreur dans la saisie de l'heure de :"; String PLUS2=""; String PLUS3=""; String PLUS4=""; if(e.getSource()==Date) { //System.out.println("date"); c=new JCalendar(); //c.addPropertyChangeListener(this); c.addPropertyChangeListener( new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { System.out.println("propertyChange : valeur = "+ event.getNewValue()); } } ); //GregorianCalendar dat=c.getCalendar(); //System.out.println("********"+dat.get(Calendar.DAY_OF_MONTH)+"*******"); /*String dat=c.getCalendar().toString(); String jour=dat.substring(dat.indexOf("DAY_OF_MONTH")+13,dat.indexOf("DAY_OF_MONTH")+15); System.out.println("********"+jour+"*******"); String mois=dat.substring(dat.indexOf("MONTH")+6,dat.indexOf("MONTH")+8); System.out.println("********"+mois+"*******"); String annee=dat.substring(dat.indexOf("YEAR")+5,dat.indexOf("MONTH")+7); System.out.println("********"+annee+"*******");*/ //c.dispose(); //System.out.println("date saisie"+dat); } if(e.getSource() == Valider) { if(Nombis.getText().equals("")) { PLUS+="Nom "; } if((urg==false)&&(prog==false)) { PLUS+="urgence ou programmé "; } if(ComboDem.getSelectedItem()=="") { PLUS+="Demandeur "; } //System.out.println(ComboDem.getSelectedItem()); if(Datebis.getText().equals("__/__/____")) { PLUS+="Date "; } else { if(!DatePerso.VerifDate(Datebis.getText())) { PLUS3+="Date $^ùdfgsdg "; } } if(Date_debbis.getText().equals("__/__/____")) { PLUS+="Date de début "; } else { if(!DatePerso.VerifDate(Date_debbis.getText())) { PLUS3+="Date de début "; } } if(Heure_debbis.getText().equals("__:__")) { PLUS+="Heure de début "; } else { if(!HeurePerso.VerifHeure(Heure_debbis.getText())) { PLUS2+="Heure de début "; } } if(Date_finbis.getText().equals("__/__/____")) { PLUS+="Date de fin "; } else { if(!DatePerso.VerifDate(Date_finbis.getText())) { PLUS3+="Date de fin "; } } if(Heure_finbis.getText().equals("__:__")) { PLUS+="Heure de fin "; } else { if(!HeurePerso.VerifHeure(Heure_finbis.getText())) { PLUS2+="Heure de fin "; } } if((ComboPont.getSelectedItem().equals(""))&&(ComboPorte.getSelectedItem().equals(""))&&(ComboSas.getSelectedItem().equals(""))&&(ComboVanne.getSelectedItem().equals(""))) { PLUS+="Ouvrage "; } if((navig==false)&&(trafic_ro==false)&&(trafic_fe==false)) { PLUS+="Arrêt de "; } if(ObjetOpbis.getText().equals(" ")) { PLUS+="Objet de l'arrêt "; } //System.out.println("Contenu de l'objet *"+ObjetOpbis.getText()+"*"); if(!PLUS.equals("")) { new WarningWindow(Superman,PLUS); //effacer(); } else { if(!PLUS2.equals("")) { new WarningWindow(Superman2,PLUS2); } else { if(!PLUS3.equals("")) { new WarningWindow("Erreur dans la saisie des Dates"); } else { DatePerso DP=new DatePerso(Datebis.getText()); if(!DP.infDate()) { new WarningWindow("La date entrée est supérieur à la date d'aujourd'hui"); } else { DatePerso DP2=new DatePerso(Date_debbis.getText()); DatePerso DP3=new DatePerso(Date_finbis.getText()); if(!DP2.infDateEgal(DP3)) { new WarningWindow("Erreur dans la chronologie des dates"); } else { DatePerso IDate = new DatePerso(Datebis.getText()); DatePerso IDate_deb = new DatePerso(Date_debbis.getText()); DatePerso IHeure_deb = new DatePerso(Date_debbis.getText(),Heure_debbis.getText()); DatePerso IDate_finbis = new DatePerso(Date_finbis.getText()); DatePerso IHeure_finbis = new DatePerso(Date_finbis.getText(),Heure_finbis.getText()); String IDem = (String)ComboDem.getSelectedItem(); String IPont = (String)ComboPont.getSelectedItem(); String IPorte = (String)ComboPorte.getSelectedItem(); String ISas = (String)ComboSas.getSelectedItem(); String IVanne=(String)ComboVanne.getSelectedItem(); new SuccessfulWindow(); //insertion dans la base iDB.InserArret(IDate.getSQLDate(),Integer.parseInt(Numerobis.getText()),urg,prog,navig,trafic_ro,trafic_fe,IPont,ISas,IPorte,IVanne,IDem,Nombis.getText(),IDate_deb.getSQLDate(),IHeure_deb.getSQLTime(),IDate_finbis.getSQLDate(),IHeure_finbis.getSQLTime(),ObjetOpbis.getText()); //Date_debbis.setValue("00:00"); effacer(); } } } } } } } public void effacer() { int j=0; j = iDB.maxFeuilleArr(); formatter.setPlaceholderCharacter('_'); Integer Int=new Integer(Numerobis.getText()); Nombis.setText(""); Numerobis.setText(new Integer(j+1).toString()); urgence.setSelected(true); programme.setSelected(true); navigation.setSelected(true); trafic_routier.setSelected(true); trafic_ferroviaire.setSelected(true); urgence.doClick(); programme.doClick(); navigation.doClick(); trafic_routier.doClick(); trafic_ferroviaire.doClick(); Datebis.setValue("__/__/____"); ComboDem.setSelectedIndex(0); Date_debbis.setValue("__/__/____"); Heure_debbis.setValue("__:__"); Date_finbis.setValue("__/__/____"); Heure_finbis.setValue("__:__"); ComboPont.setSelectedIndex(0); ComboPorte.setSelectedIndex(0); ComboSas.setSelectedIndex(0); ComboVanne.setSelectedIndex(0); ObjetOpbis.setText(" "); } }