Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Classe AccesPorteFenetre
- * Définit et ouvre une fenetre qui :
- * - Permet l'insertion d'une nouvelle personne autorisée à ouvrir une porte
- * - Permet l'affichage de toutes les personnes autorisées à ouvrir une porte
- *
- * @author martel - patun
- * @version 1.2
- * */
- public class AccesPorteFenetre extends JFrame implements ActionListener
- {
- /**
- * numero de version pour classe serialisable
- * Permet d'eviter le warning "The serializable class PersonneFenetre does not declare a static final serialVersionUID field of type long"
- */
- private static final long serialVersionUID = 1L;
- /**
- * conteneur : il accueille les differents composants graphiques de AccesPorteFenetre
- */
- private JPanel containerPanel;
- /**
- * zone de texte pour le champ id
- */
- private JTextField textFieldPer_id;
- /**
- * zone de texte pour le champ nom
- */
- private JTextField textFieldPer_nom;
- /**
- * zone de texte pour le champ prenom
- *
- */
- private JTextField textFieldPer_prenom;
- /**
- * zone de texte pour le champ sexe
- */
- private JTextField textFieldPer_sexe;
- /**
- * zone de texte pour le champ emploi
- */
- private JTextField textFieldPer_emploi;
- /**
- * zone de texte pour le champ jour acces
- */
- private JTextField textFieldPer_jourAcces;
- /**
- * zone de texte pour le champ heure acces
- */
- private JTextField textFieldPer_heureAcces;
- /**
- * zone de texte pour le champ Per_autoriPorte
- */
- private JTextField textFieldPer_autoriPorte;
- /**
- * zone de texte pour le champ Per_refBadge
- */
- private JTextField textFieldPer_refBadge;
- /**
- * zone de texte pour le champ bat_idPorte
- */
- //private JTextField textFieldBat_idPorte;
- /**
- * zone de texte pour le champ bat_nom
- */
- //private JTextField textFieldBat_nom;
- /**
- * label id
- */
- private JLabel labelPer_id;
- /**
- * label nom
- */
- private JLabel labelPer_nom;
- /**
- * label prenom
- */
- private JLabel labelPer_prenom;
- /**
- * label sexe
- */
- private JLabel labelPer_sexe;
- /**
- * label emploi
- */
- private JLabel labelPer_emploi;
- /**
- * label jour d'acces
- */
- private JLabel labelPer_jourAcces;
- /**
- * label heure d'acces
- */
- private JLabel labelPer_heureAcces;
- /**
- * label Per_autoriPorte
- */
- private JLabel labelPer_autoriPorte;
- /**
- * label Per_refBadge
- */
- private JLabel labelPer_refBadge;
- /**
- * label bat_idPorte
- */
- //private JLabel labelBat_idPorte;
- /**
- * label bat_nom
- */
- //private JLabel labelBat_nom;
- /**
- * bouton d'envoi de la personne
- */
- private JButton boutonEnvoiDonnees;
- /**
- * bouton qui permet d'afficher toutes les personnes
- */
- private JButton boutonAffichageToutesLesPersonnes;
- /**
- * Zone de texte pour afficher les personnes
- */
- JTextArea zoneTextListPer_PersonneLambda;
- /**
- * Zone de défilement pour la zone de texte
- */
- JScrollPane zoneDefilement;
- /**
- * instance de ArticleDAO permettant les accès à la base de données
- */
- private AccesPorteDAO monAccesPorteDAO;
- /**
- * Constructeur
- * Définit la fenêtre et ses composants - affiche la fenêtre
- */
- public AccesPorteFenetre()
- {
- // on instancie la classe AccesPorte DAO
- this.monAccesPorteDAO = new AccesPorteDAO();
- //on fixe le titre de la fenêtre
- this.setTitle("Acces Porte");
- //initialisation de la taille de la fenêtre
- this.setSize(400,800);
- //création du conteneur
- containerPanel = new JPanel();
- //choix du Layout pour ce conteneur
- //il permet de gérer la position des éléments
- //il autorisera un retaillage de la fenêtre en conservant la présentation
- //BoxLayout permet par exemple de positionner les élements sur une colonne ( PAGE_AXIS )
- containerPanel.setLayout(new BoxLayout(containerPanel, BoxLayout.PAGE_AXIS));
- //choix de la couleur pour le conteneur
- containerPanel.setBackground(Color.WHITE);
- //instantiation des composants graphiques
- textFieldPer_id=new JTextField();
- textFieldPer_nom=new JTextField();
- textFieldPer_prenom=new JTextField();
- textFieldPer_sexe=new JTextField();
- textFieldPer_emploi=new JTextField();
- textFieldPer_jourAcces=new JTextField();
- textFieldPer_heureAcces=new JTextField();
- textFieldPer_autoriPorte=new JTextField();
- textFieldPer_refBadge=new JTextField();
- /*textFieldBat_idPorte=new JTextField();
- textFieldBat_nom=new JTextField();*/
- boutonEnvoiDonnees=new JButton("Envoyer");
- boutonAffichageToutesLesPersonnes=new JButton("Afficher toutes les personnes");
- labelPer_id=new JLabel("Id :");
- labelPer_nom=new JLabel("Nom :");
- labelPer_prenom=new JLabel("Prenom :");
- labelPer_sexe=new JLabel("Sexe :");
- labelPer_emploi=new JLabel("Emploi :");
- labelPer_jourAcces=new JLabel("Jour d'acces :");
- labelPer_heureAcces=new JLabel("Heure d'acces :");
- labelPer_autoriPorte=new JLabel("Porte autorisée :");
- labelPer_refBadge=new JLabel("Référence badge :");
- /*labelBat_idPorte=new JLabel("Référence de la porte du batiment:");
- labelBat_nom=new JLabel("Nom du batiment:");*/
- zoneTextListPer_PersonneLambda = new JTextArea(5, 20);
- zoneDefilement = new JScrollPane(zoneTextListPer_PersonneLambda);
- zoneTextListPer_PersonneLambda.setEditable(false);
- //ajout des composants sur le container
- containerPanel.add(labelPer_id);
- //introduire une espace constant entre le label et le champ texte
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_id);
- //introduire une espace constant entre le champ texte et le composant suivant
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_nom);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_nom);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_prenom);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_prenom);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_sexe);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_sexe);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_emploi);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_emploi);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_jourAcces);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_jourAcces);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_heureAcces);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_heureAcces);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_autoriPorte);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_autoriPorte);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- containerPanel.add(labelPer_refBadge);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldPer_refBadge);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
- /*containerPanel.add(labelBat_idPorte);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(textFieldBat_idPorte);
- containerPanel.add(Box.createRigidArea(new Dimension(0,10)));*/
- containerPanel.add(boutonEnvoiDonnees);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- /* containerPanel.add(boutonAffichageToutesLesPersonnes);
- containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
- containerPanel.add(zoneDefilement);*/
- //ajouter une bordure vide de taille constante autour de l'ensemble des composants
- containerPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
- //ajout des écouteurs sur les boutons pour gérer les évènements
- boutonEnvoiDonnees.addActionListener(this);
- // boutonAffichageToutesLesPersonnes.addActionListener(this);
- //permet de quitter l'application si on ferme la fenêtre
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setContentPane(containerPanel);
- //affichage de la fenêtre
- this.setVisible(true);
- }
- /**
- * Gère les actions réalisées sur les boutons
- *
- */
- public void actionPerformed(ActionEvent ae)
- {
- int retour; // code de retour de la classe AccesPorteDAO
- try {
- if(ae.getSource()==boutonEnvoiDonnees)
- {
- //on crée l'objet message
- Per_PersonneLambda per=new Per_PersonneLambda(Integer.parseInt(this.textFieldPer_id.getText()),this.textFieldPer_nom.getText(), this.textFieldPer_prenom.getText(), this.textFieldPer_sexe.getText(),this.textFieldPer_emploi.getText(), this.textFieldPer_jourAcces.getText(), this.textFieldPer_heureAcces.getText(),this.textFieldPer_autoriPorte.getText(), this.textFieldPer_refBadge.getText()/*,Integer.parseInt(this.textFieldBat_idPorte.getText()),this.textFieldBat_nom.getText()*/);
- //on demande à la classe de communication d'envoyer une personne dans la table personne
- retour = monAccesPorteDAO.ajouter(per);
- // affichage du nombre de lignes ajoutées
- // dans la bdd pour vérification
- System.out.println("" + retour + " ligne ajoutée ");
- }
- else if(ae.getSource()==boutonAffichageToutesLesPersonnes)
- {
- // on demande à la classe AccesPorteDAO d'ajouter le message
- // dans la base de données
- List<Per_PersonneLambda> liste = monAccesPorteDAO.getListePer_PersonneLambdas();
- //on affiche dans la console du gérant les personnes habilités
- for(Per_PersonneLambda per : liste)
- {
- zoneTextListPer_PersonneLambda.append(per.toString());
- zoneTextListPer_PersonneLambda.append("\n");
- System.out.println(per.toString());
- }
- }
- }
- catch (Exception e) {
- System.err.println("Veuillez contrôler vos saisies");
- }
- }
- public static void main(String[] args)
- {
- new AccesPorteFenetre();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement