Advertisement
Guest User

Untitled

a guest
May 25th, 2015
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.28 KB | None | 0 0
  1. /**
  2. * Classe AccesPorteFenetre
  3. * Définit et ouvre une fenetre qui :
  4. * - Permet l'insertion d'une nouvelle personne autorisée à ouvrir une porte
  5. * - Permet l'affichage de toutes les personnes autorisées à ouvrir une porte
  6. *
  7. * @author martel - patun
  8. * @version 1.2
  9. * */
  10.  
  11.  
  12. public class AccesPorteFenetre extends JFrame implements ActionListener
  13. {
  14. /**
  15. * numero de version pour classe serialisable
  16. * Permet d'eviter le warning "The serializable class PersonneFenetre does not declare a static final serialVersionUID field of type long"
  17. */
  18. private static final long serialVersionUID = 1L;
  19.  
  20. /**
  21. * conteneur : il accueille les differents composants graphiques de AccesPorteFenetre
  22. */
  23. private JPanel containerPanel;
  24.  
  25. /**
  26. * zone de texte pour le champ id
  27. */
  28. private JTextField textFieldPer_id;
  29.  
  30. /**
  31. * zone de texte pour le champ nom
  32. */
  33. private JTextField textFieldPer_nom;
  34.  
  35. /**
  36. * zone de texte pour le champ prenom
  37. *
  38. */
  39. private JTextField textFieldPer_prenom;
  40. /**
  41. * zone de texte pour le champ sexe
  42. */
  43. private JTextField textFieldPer_sexe;
  44. /**
  45. * zone de texte pour le champ emploi
  46. */
  47. private JTextField textFieldPer_emploi;
  48. /**
  49. * zone de texte pour le champ jour acces
  50. */
  51. private JTextField textFieldPer_jourAcces;
  52.  
  53. /**
  54. * zone de texte pour le champ heure acces
  55. */
  56. private JTextField textFieldPer_heureAcces;
  57. /**
  58. * zone de texte pour le champ Per_autoriPorte
  59. */
  60. private JTextField textFieldPer_autoriPorte;
  61. /**
  62. * zone de texte pour le champ Per_refBadge
  63. */
  64. private JTextField textFieldPer_refBadge;
  65. /**
  66. * zone de texte pour le champ bat_idPorte
  67. */
  68. //private JTextField textFieldBat_idPorte;
  69.  
  70.  
  71. /**
  72. * zone de texte pour le champ bat_nom
  73. */
  74. //private JTextField textFieldBat_nom;
  75.  
  76.  
  77. /**
  78. * label id
  79. */
  80. private JLabel labelPer_id;
  81.  
  82. /**
  83. * label nom
  84. */
  85. private JLabel labelPer_nom;
  86.  
  87. /**
  88. * label prenom
  89. */
  90. private JLabel labelPer_prenom;
  91. /**
  92. * label sexe
  93. */
  94. private JLabel labelPer_sexe;
  95. /**
  96. * label emploi
  97. */
  98. private JLabel labelPer_emploi;
  99. /**
  100. * label jour d'acces
  101. */
  102. private JLabel labelPer_jourAcces;
  103. /**
  104. * label heure d'acces
  105. */
  106. private JLabel labelPer_heureAcces;
  107. /**
  108. * label Per_autoriPorte
  109. */
  110. private JLabel labelPer_autoriPorte;
  111. /**
  112. * label Per_refBadge
  113. */
  114. private JLabel labelPer_refBadge;
  115.  
  116. /**
  117. * label bat_idPorte
  118. */
  119. //private JLabel labelBat_idPorte;
  120. /**
  121. * label bat_nom
  122. */
  123. //private JLabel labelBat_nom;
  124.  
  125. /**
  126. * bouton d'envoi de la personne
  127. */
  128. private JButton boutonEnvoiDonnees;
  129. /**
  130. * bouton qui permet d'afficher toutes les personnes
  131. */
  132. private JButton boutonAffichageToutesLesPersonnes;
  133. /**
  134. * Zone de texte pour afficher les personnes
  135. */
  136. JTextArea zoneTextListPer_PersonneLambda;
  137. /**
  138. * Zone de défilement pour la zone de texte
  139. */
  140. JScrollPane zoneDefilement;
  141. /**
  142. * instance de ArticleDAO permettant les accès à la base de données
  143. */
  144. private AccesPorteDAO monAccesPorteDAO;
  145.  
  146. /**
  147. * Constructeur
  148. * Définit la fenêtre et ses composants - affiche la fenêtre
  149. */
  150. public AccesPorteFenetre()
  151. {
  152. // on instancie la classe AccesPorte DAO
  153. this.monAccesPorteDAO = new AccesPorteDAO();
  154.  
  155. //on fixe le titre de la fenêtre
  156. this.setTitle("Acces Porte");
  157. //initialisation de la taille de la fenêtre
  158. this.setSize(400,800);
  159.  
  160. //création du conteneur
  161. containerPanel = new JPanel();
  162.  
  163. //choix du Layout pour ce conteneur
  164. //il permet de gérer la position des éléments
  165. //il autorisera un retaillage de la fenêtre en conservant la présentation
  166. //BoxLayout permet par exemple de positionner les élements sur une colonne ( PAGE_AXIS )
  167. containerPanel.setLayout(new BoxLayout(containerPanel, BoxLayout.PAGE_AXIS));
  168.  
  169. //choix de la couleur pour le conteneur
  170. containerPanel.setBackground(Color.WHITE);
  171.  
  172.  
  173. //instantiation des composants graphiques
  174. textFieldPer_id=new JTextField();
  175. textFieldPer_nom=new JTextField();
  176. textFieldPer_prenom=new JTextField();
  177. textFieldPer_sexe=new JTextField();
  178. textFieldPer_emploi=new JTextField();
  179. textFieldPer_jourAcces=new JTextField();
  180. textFieldPer_heureAcces=new JTextField();
  181. textFieldPer_autoriPorte=new JTextField();
  182. textFieldPer_refBadge=new JTextField();
  183. /*textFieldBat_idPorte=new JTextField();
  184. textFieldBat_nom=new JTextField();*/
  185.  
  186. boutonEnvoiDonnees=new JButton("Envoyer");
  187. boutonAffichageToutesLesPersonnes=new JButton("Afficher toutes les personnes");
  188.  
  189. labelPer_id=new JLabel("Id :");
  190. labelPer_nom=new JLabel("Nom :");
  191. labelPer_prenom=new JLabel("Prenom :");
  192. labelPer_sexe=new JLabel("Sexe :");
  193. labelPer_emploi=new JLabel("Emploi :");
  194. labelPer_jourAcces=new JLabel("Jour d'acces :");
  195. labelPer_heureAcces=new JLabel("Heure d'acces :");
  196. labelPer_autoriPorte=new JLabel("Porte autorisée :");
  197. labelPer_refBadge=new JLabel("Référence badge :");
  198. /*labelBat_idPorte=new JLabel("Référence de la porte du batiment:");
  199. labelBat_nom=new JLabel("Nom du batiment:");*/
  200.  
  201.  
  202. zoneTextListPer_PersonneLambda = new JTextArea(5, 20);
  203. zoneDefilement = new JScrollPane(zoneTextListPer_PersonneLambda);
  204. zoneTextListPer_PersonneLambda.setEditable(false);
  205.  
  206. //ajout des composants sur le container
  207. containerPanel.add(labelPer_id);
  208. //introduire une espace constant entre le label et le champ texte
  209. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  210. containerPanel.add(textFieldPer_id);
  211. //introduire une espace constant entre le champ texte et le composant suivant
  212. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  213.  
  214.  
  215. containerPanel.add(labelPer_nom);
  216. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  217. containerPanel.add(textFieldPer_nom);
  218. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  219.  
  220. containerPanel.add(labelPer_prenom);
  221. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  222. containerPanel.add(textFieldPer_prenom);
  223. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  224.  
  225. containerPanel.add(labelPer_sexe);
  226. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  227. containerPanel.add(textFieldPer_sexe);
  228. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  229.  
  230. containerPanel.add(labelPer_emploi);
  231. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  232. containerPanel.add(textFieldPer_emploi);
  233. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  234.  
  235. containerPanel.add(labelPer_jourAcces);
  236. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  237. containerPanel.add(textFieldPer_jourAcces);
  238. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  239.  
  240. containerPanel.add(labelPer_heureAcces);
  241. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  242. containerPanel.add(textFieldPer_heureAcces);
  243. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  244.  
  245. containerPanel.add(labelPer_autoriPorte);
  246. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  247. containerPanel.add(textFieldPer_autoriPorte);
  248. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  249.  
  250. containerPanel.add(labelPer_refBadge);
  251. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  252. containerPanel.add(textFieldPer_refBadge);
  253. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));
  254.  
  255. /*containerPanel.add(labelBat_idPorte);
  256. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  257. containerPanel.add(textFieldBat_idPorte);
  258. containerPanel.add(Box.createRigidArea(new Dimension(0,10)));*/
  259.  
  260. containerPanel.add(boutonEnvoiDonnees);
  261. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  262.  
  263. /* containerPanel.add(boutonAffichageToutesLesPersonnes);
  264. containerPanel.add(Box.createRigidArea(new Dimension(0,5)));
  265. containerPanel.add(zoneDefilement);*/
  266.  
  267. //ajouter une bordure vide de taille constante autour de l'ensemble des composants
  268. containerPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
  269.  
  270. //ajout des écouteurs sur les boutons pour gérer les évènements
  271. boutonEnvoiDonnees.addActionListener(this);
  272. // boutonAffichageToutesLesPersonnes.addActionListener(this);
  273.  
  274. //permet de quitter l'application si on ferme la fenêtre
  275. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  276.  
  277. this.setContentPane(containerPanel);
  278.  
  279. //affichage de la fenêtre
  280. this.setVisible(true);
  281. }
  282.  
  283. /**
  284. * Gère les actions réalisées sur les boutons
  285. *
  286. */
  287. public void actionPerformed(ActionEvent ae)
  288. {
  289. int retour; // code de retour de la classe AccesPorteDAO
  290.  
  291. try {
  292. if(ae.getSource()==boutonEnvoiDonnees)
  293. {
  294. //on crée l'objet message
  295. 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()*/);
  296. //on demande à la classe de communication d'envoyer une personne dans la table personne
  297. retour = monAccesPorteDAO.ajouter(per);
  298. // affichage du nombre de lignes ajoutées
  299. // dans la bdd pour vérification
  300. System.out.println("" + retour + " ligne ajoutée ");
  301. }
  302. else if(ae.getSource()==boutonAffichageToutesLesPersonnes)
  303. {
  304. // on demande à la classe AccesPorteDAO d'ajouter le message
  305. // dans la base de données
  306. List<Per_PersonneLambda> liste = monAccesPorteDAO.getListePer_PersonneLambdas();
  307.  
  308. //on affiche dans la console du gérant les personnes habilités
  309. for(Per_PersonneLambda per : liste)
  310. {
  311. zoneTextListPer_PersonneLambda.append(per.toString());
  312. zoneTextListPer_PersonneLambda.append("\n");
  313. System.out.println(per.toString());
  314. }
  315. }
  316. }
  317. catch (Exception e) {
  318. System.err.println("Veuillez contrôler vos saisies");
  319. }
  320.  
  321. }
  322.  
  323.  
  324. public static void main(String[] args)
  325. {
  326. new AccesPorteFenetre();
  327. }
  328.  
  329. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement