0% found this document useful (0 votes)
4 views28 pages

Java GUI for Airport Personnel Management

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views28 pages

Java GUI for Airport Personnel Management

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

import [Link].

Toolkit;

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link].*;

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

public class aeroport extends [Link] {

private static final [Link] logger =


[Link]([Link]());
public aeroport() throws SQLException {

initComponents();

connex();

charge();

icon();

setExtendedState(JFrame.MAXIMIZED_BOTH);

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jMenu1 = new [Link]();

jMenu2 = new [Link]();

jMenuItem1 = new [Link]();

jMenuItem2 = new [Link]();

jMenu3 = new [Link]();

jCheckBoxMenuItem1 = new [Link]();

jMenuItem3 = new [Link]();

jMenu4 = new [Link]();

jCheckBoxMenuItem2 = new [Link]();

jMenu5 = new [Link]();

jMenu6 = new [Link]();

jMenuBar2 = new [Link]();

jMenu7 = new [Link]();

jMenu8 = new [Link]();

jMenu9 = new [Link]();

jMenu10 = new [Link]();

jMenuBar3 = new [Link]();


jMenu11 = new [Link]();

jMenu12 = new [Link]();

jMenuBar4 = new [Link]();

jMenu13 = new [Link]();

jMenu14 = new [Link]();

jMenuBar5 = new [Link]();

jMenu15 = new [Link]();

jMenu16 = new [Link]();

jMenuBar6 = new [Link]();

jMenu17 = new [Link]();

jMenu18 = new [Link]();

jMenuBar7 = new [Link]();

jMenu19 = new [Link]();

jMenu20 = new [Link]();

jScrollPane5 = new [Link]();

jTable1 = new [Link]();

jLabel10 = new [Link]();

jLabel1 = new [Link]();

jLabel2 = new [Link]();

jLabel3 = new [Link]();

jLabel4 = new [Link]();

jLabel5 = new [Link]();

jLabel6 = new [Link]();

jLabel7 = new [Link]();

jScrollPane1 = new [Link]();

txtname = new [Link]();

jScrollPane2 = new [Link]();

txtfirstname = new [Link]();

jScrollPane4 = new [Link]();

txtcin = new [Link]();

txtadresse = new [Link]();


txtAdresse = new [Link]();

btnAdd = new [Link]();

jLabel8 = new [Link]();

jScrollPane3 = new [Link]();

txtlieu = new [Link]();

jLabel9 = new [Link]();

txtid = new [Link]<>();

btnSearch = new [Link]();

btnSupprimer = new [Link]();

btnModifier = new [Link]();

txtbase = new [Link]<>();

scan = new [Link]();

jScrollPane6 = new [Link]();

tableau = new [Link]();

afficher = new [Link]();

naiss = new [Link]();

jLabel11 = new [Link]();

jMenuBar1 = new [Link]();

[Link]("jMenu1");

[Link]("jMenu2");

[Link]("jMenuItem1");

[Link]("jMenuItem2");

[Link]("jMenu3");

[Link](true);

[Link]("jCheckBoxMenuItem1");
[Link]("jMenuItem3");

[Link]("jMenu4");

[Link](true);

[Link]("jCheckBoxMenuItem2");

[Link]("jMenu5");

[Link]("jMenu6");

[Link]("File");

[Link](jMenu7);

[Link]("Edit");

[Link](jMenu8);

[Link]("jMenu9");

[Link]("jMenu10");

[Link]("File");

[Link](jMenu11);

[Link]("Edit");

[Link](jMenu12);

[Link]("File");

[Link](jMenu13);
[Link]("Edit");

[Link](jMenu14);

[Link]("File");

[Link](jMenu15);

[Link]("Edit");

[Link](jMenu16);

[Link]("File");

[Link](jMenu17);

[Link]("Edit");

[Link](jMenu18);

[Link]("File");

[Link](jMenu19);

[Link]("Edit");

[Link](jMenu20);

[Link](new [Link](

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Title 1", "Title 2", "Title 3", "Title 4"

}
));

[Link](jTable1);

[Link](new [Link](getClass().getResource("/man_made-airport-aerial-
[Link]"))); // NOI18N

[Link](0.0F);

[Link](new [Link](204855, 13655));

[Link]([Link]);

setDefaultCloseOperation([Link].EXIT_ON_CLOSE);

setBackground([Link]().getColor("[Link]"));

getContentPane().setLayout(new [Link]());

[Link](new [Link]("Segoe UI Semilight", 0, 24)); // NOI18N

[Link](new [Link](204, 102, 0));

[Link]("MANIPULATION DES PERSONNES A RECHERCHER");

getContentPane().add(jLabel1, new [Link](300, 20, -1,


30));

[Link](new [Link](0, 255, 153));

[Link](new [Link](0, 255, 102));

[Link]("Nom :");

getContentPane().add(jLabel2, new [Link](179, 105, -1, -


1));

[Link](new [Link](0, 255, 102));

[Link]("Prénom :");

getContentPane().add(jLabel3, new [Link](179, 139, -1, -


1));

getContentPane().add(jLabel4, new [Link](73, 360, -1, -


1));

[Link](new [Link](0, 255, 102));


[Link]("Date et lieu de naissance :");

getContentPane().add(jLabel5, new [Link](145, 188, -1, -


1));

[Link](new [Link](0, 255, 102));

[Link]("Cin :");

getContentPane().add(jLabel6, new [Link](183, 272, -1, -


1));

[Link](new [Link](0, 255, 102));

[Link]("Adresse :");

getContentPane().add(jLabel7, new [Link](183, 233, -1, -


1));

[Link](20);

[Link](true);

[Link](5);

[Link](true);

[Link](txtname);

getContentPane().add(jScrollPane1, new [Link](322, 82,


-1, 28));

[Link](20);

[Link](true);

[Link](5);

[Link](true);

[Link](txtfirstname);

getContentPane().add(jScrollPane2, new [Link](322,


128, -1, 27));

[Link](20);
[Link](true);

[Link](5);

[Link](true);

[Link](txtcin);

getContentPane().add(jScrollPane4, new [Link](322,


262, -1, 26));

[Link](20);

[Link](true);

[Link](5);

[Link](true);

[Link](txtAdresse);

getContentPane().add(txtadresse, new [Link](322, 224, -


1, 26));

[Link]("Ajouter");

[Link](new [Link]() {

public void actionPerformed([Link] evt) {

btnAddActionPerformed(evt);

});

getContentPane().add(btnAdd, new [Link](210, 330, -1, -


1));

[Link](new [Link]("Segoe UI", 0, 14)); // NOI18N

[Link](new [Link](0, 255, 102));

[Link]("à :");

getContentPane().add(jLabel8, new [Link](578, 178, 39,


-1));
[Link](20);

[Link](true);

[Link](5);

[Link](true);

[Link](txtlieu);

getContentPane().add(jScrollPane3, new [Link](623,


178, -1, 26));

[Link](new [Link](0, 255, 102));

[Link]("id :");

getContentPane().add(jLabel9, new [Link](840, 130, 52,


-1));

[Link](new [Link]<>(new String[] { "Item 1", "Item 2",


"Item 3", "Item 4" }));

[Link](new [Link]() {

public void actionPerformed([Link] evt) {

txtidActionPerformed(evt);

});

getContentPane().add(txtid, new [Link](890, 120, 131, -


1));

[Link]("Search");

[Link](new [Link]() {

public void actionPerformed([Link] evt) {

btnSearchActionPerformed(evt);

});

getContentPane().add(btnSearch, new [Link](910, 170,


78, -1));
[Link]("Supprimer");

[Link](new [Link]() {

public void actionPerformed([Link] evt) {

btnSupprimerActionPerformed(evt);

});

getContentPane().add(btnSupprimer, new [Link](330,


330, -1, -1));

[Link]("Modifier");

[Link](new [Link]() {

public void actionPerformed([Link] evt) {

btnModifierActionPerformed(evt);

});

getContentPane().add(btnModifier, new [Link](470, 330,


-1, -1));

[Link](new [Link]<>(new String[] { "ist", "notam" }));

getContentPane().add(txtbase, new [Link](890, 80, 131,


-1));

[Link]("Scanner un pdf ");

[Link](new [Link]() {

public void actionPerformed([Link] evt) {

scanActionPerformed(evt);

});

getContentPane().add(scan, new [Link](780, 330, -1, -


1));

[Link](new [Link](
new Object [][] {

{null, null, null, null, null},

{null, null, null, null, null},

{null, null, null, null, null},

{null, null, null, null, null}

},

new String [] {

"ID", "Nom", "Prénom", "Date de naissance", "CIN"

));

[Link](tableau);

getContentPane().add(jScrollPane6, new [Link](110,


420, 1010, 250));

[Link]("affiher");

[Link](new [Link]() {

public void actionPerformed([Link] evt) {

afficherActionPerformed(evt);

});

getContentPane().add(afficher, new [Link](630, 330, -1, -


1));

getContentPane().add(naiss, new [Link](320, 180, 240, -


1));

[Link](new [Link](getClass().getResource("/man_made-airport-aerial-
[Link]"))); // NOI18N

getContentPane().add(jLabel11, new [Link](0, 0, -1, -1));

setJMenuBar(jMenuBar1);

pack();
}// </editor-fold>

Connection conn;

PreparedStatement pst;

ResultSet rset;

public final void connex() throws SQLException{

try {

[Link]("[Link]");

conn = [Link]("jdbc:mysql://localhost:3306/test?
serverTimezone=UTC","root","");

} catch (ClassNotFoundException ex) {

[Link]([Link]()).log([Link], (String) null, ex);

public final void charge() throws SQLException{

String base = [Link]().toString();

if(base=="ist"){

pst = [Link]("SELECT id FROM ist ORDER BY id");

[Link]();

}else{

pst = [Link]("SELECT id FROM notam ORDER BY id");

[Link]();

rset = [Link]();

while([Link]()){

[Link]([Link](1));
}

}/*

public void charge() throws SQLException {

// 1) Table cible : on ne laisse passer que les deux valeurs attendues

String selection = [Link]([Link]()).toLowerCase();

String table;

switch (selection) {

case "ist" -> table = "ist";

case "notam" -> table = "notam";

default -> { [Link](); return; } // rien à faire

// 2) Exécution de la requête

String sql = "SELECT id FROM " + table + " ORDER BY id"; // tri facultatif

try (PreparedStatement pst = [Link](sql);

ResultSet rs = [Link]()) {

[Link](); // vide la combo avant de remplir

while ([Link]()) {

[Link]([Link]("id"));

*/

private boolean estEntier(String s) {

return s != null && [Link]("\\d+"); // 1 ou plusieurs chiffres

private void btnAddActionPerformed([Link] evt) {

try {
String base = [Link]().toString();

String nom = [Link]();

String prenom = [Link]();

Date utilDate = [Link]();

String lieu = [Link]();

String cinStr = [Link]();

String adresse = [Link]();

if([Link]() || [Link]()||utilDate == null|| [Link]() || [Link]()||


[Link]()){

[Link](null, "Veuillez remplir tous les champs");

if (!estEntier(cinStr)) {

[Link](this,

"Le CIN doit contenir uniquement des chiffres",

"Erreur de saisie", JOptionPane.ERROR_MESSAGE);

else{

int cin = [Link]([Link]().trim());

String sql = "INSERT INTO "+ base +"(nom,prenom,dates,lieu,cin,adresse) VALUES (?,?,?,?,?,?)";

pst = [Link](sql);

[Link](1, nom);

[Link](2, prenom);

[Link] sqlDate = new [Link]([Link]());

[Link](3, sqlDate);

[Link](4, lieu);

[Link](5, cin);

[Link](6, adresse);
int k = [Link]();

if(k == 1){

[Link](this , "l'insertion a été bien effectuer");

[Link]("");

[Link]("");

[Link]("");

[Link]("");

[Link]("");

else{

[Link](this , "l'insertion be peut pas s'effectuer ");

} catch (SQLException ex) {

[Link]([Link]()).log([Link], (String) null, ex);

private void btnSearchActionPerformed([Link] evt) {

try {

String id = [Link]().toString();

String base = [Link]().toString();

pst = [Link]( "SELECT * FROM " + base +" WHERE id = ?");

[Link](1, id);

rset = [Link]();
if([Link]() == true){

[Link]([Link](2));

[Link]([Link](3));

[Link] sqlDate = [Link](4);

if (sqlDate != null) {

[Link] utilDate = new [Link]([Link]());

[Link](utilDate);

} else {

[Link](null);

[Link]([Link](5));

[Link]([Link]([Link]("cin")));

[Link]([Link](7)); }

else{

[Link](this , "selection introuvable");

} catch (SQLException ex) {

[Link]([Link]()).log([Link], (String) null, ex);

private void btnSupprimerActionPerformed([Link] evt) {

try {

String nom = [Link]();

String prenom = [Link]();

String lieu = [Link]();

String cin = [Link]();


String adresse = [Link]();

String id = [Link]().toString();

String base = [Link]().toString();

if([Link]() || [Link]() || [Link]() || [Link]()|| [Link]()){

[Link](null, "Veuillez remplir tous les champs");

} else{

pst = [Link]("DELETE FROM " + base + " WHERE id=?");

[Link](1, id);

int supp = [Link]();

if (supp ==1){

[Link](this, "Elément bien Supprimer");

else{

[Link](this,"La suppression ne peut pas s'éffectuer");

} catch (SQLException ex) {

[Link]([Link]()).log([Link], (String) null, ex);

private void btnModifierActionPerformed([Link] evt) {

try {

String base = [Link]().toString();

String id = [Link]().toString();

String nom = [Link]();

String prenom = [Link]();

Date utilDate = [Link]();

String lieu = [Link]();

int cin = [Link]([Link]().trim());

String adresse = [Link]();


if([Link]() || [Link]() ||utilDate == null || [Link]() /*||
[Link]()*/|| [Link]()){

[Link](null, "Veuillez remplir tous les champs");

}else{

pst = [Link]("UPDATE " + base +" SET


nom=?,prenom=?,dates=?,lieu=?,cin=?,adresse=? WHERE id=?");

[Link](1, nom);

[Link](2,prenom);

[Link] sqlDate = new [Link]([Link]());

[Link](3, sqlDate);

[Link](4, lieu);

[Link](5, cin);

[Link](6, adresse);

[Link](7, id);

int modif = [Link]();

if(modif == 1){

[Link](this, "Selection bien modifier");

}else{

[Link](this, "Echec de modification !!!!!!!!!!");

}}

} catch (SQLException ex) {

[Link]([Link]()).log([Link], (String) null, ex);

private void scanActionPerformed([Link] evt) {

try {

List<String[]> personnesAutorisees = new ArrayList<>();

List<String[]> personnesNonAutorisees = new ArrayList<>();

//selection de la base
String base = [Link]().toString();

String query = "SELECT * FROM " + base + " WHERE LOWER(TRIM(nom))=? AND
LOWER(TRIM(prenom))=? AND TRIM(cin)=?";

PreparedStatement pst =[Link](query);

JFileChooser fileChooser = new JFileChooser();

[Link]("Veuillez choisir un fichier PDF");

// Filtrer uniquement les fichiers PDF

[Link] filter = new


[Link]("Fichiers PDF", "pdf");

[Link](filter);

int result = [Link](this);

if (result == JFileChooser.APPROVE_OPTION) {

File selectedFile = [Link]();

String selectedPath = [Link]();

[Link](this, "Fichier bien sélectionné : " + selectedPath);

try (PDDocument document = [Link](selectedFile)) {

PDFTextStripper collect = new PDFTextStripper();

String texte = [Link](document);

//lecture de chaque ligne de la pdf

String lignes[] = [Link]("\n");

for(String ligne : lignes){

ligne = [Link]("\\u00A0", " ")

.replaceAll("[^\\p{L}\\p{N}\\s]", "")

.trim()
.replaceAll("\\s{2,}", " ");// supprime les espaces multiples

if ([Link]()) {

continue;

String[] parts = [Link](" ");

if ([Link] >= 3) {

String nom = parts[0].trim().toLowerCase();

String prenom = parts[1].trim().toLowerCase();

int cin = [Link](parts[2].replaceAll("[^\\d]", ""));

[Link](1, nom);

[Link](2, prenom);

ResultSet rs = [Link]();

boolean trouve =[Link]();

String cinStr = [Link]().trim();

String[] personne = {nom, prenom, cinStr};

if ( "ist".equalsIgnoreCase(base)) {

if(trouve){

[Link](personne);

[Link](this,"❌ " + nom + " " + prenom + " (CIN " + cin + ") ne peut pas
sortir");

}else{

[Link](personne);

[Link](this,"✅ " + nom + " " + prenom + " (CIN " + cin + ") peut
sortir");

}else if ("notam".equalsIgnoreCase(base)){

if(trouve){
[Link](personne);

[Link](this,"❌ " + nom + " " + prenom + " (CIN " + cin + ") ne peut
pas Entrée");

}else{

[Link](personne);

[Link](this,"✅" + nom + " " + prenom + " (CIN " + cin + ") peut
entree");

} }

} else {

[Link]("Ligne ignorée (format insuffisant) : " + ligne);}

}afficherResultats(personnesAutorisees, personnesNonAutorisees);

} } catch (SQLException | IOException ex) {

[Link]([Link]()).log([Link], (String)
null, ex);

private void afficherResultats(List<String[]> autorisees, List<String[]> nonAutorisees) {

// Créer les modèles de tableaux

String[] colonnes = {"Nom", "Prénom", "CIN"};

DefaultTableModel modelAutorise = new DefaultTableModel(colonnes, 0);

for (String[] personne : autorisees) {

[Link](personne);

DefaultTableModel modelNonAutorise = new DefaultTableModel(colonnes, 0);

for (String[] personne : nonAutorisees) {

[Link](personne);
}

// Créer les tableaux

JTable tableAutorise = new JTable(modelAutorise);

JTable tableNonAutorise = new JTable(modelNonAutorise);

// Personnalisation des tableaux

[Link](25);

[Link](25);

// Créer un panneau avec onglets

JTabbedPane tabbedPane = new JTabbedPane();

[Link]("Personnes autorisées (" + [Link]() + ")", new


JScrollPane(tableAutorise));

[Link]("Personnes non autorisées (" + [Link]() + ")", new


JScrollPane(tableNonAutorise));

// Afficher dans une boîte de dialogue

[Link](this, tabbedPane, "Résultats du scan",


JOptionPane.PLAIN_MESSAGE);

private void afficherActionPerformed([Link] evt) {

String base=[Link]().toString();

String sql = "SELECT id,nom, prenom, dates, cin FROM "+base;

try (

PreparedStatement pst = [Link](sql);

ResultSet rs = [Link]()) {

String[] colonnes = { "ID","Nom", "Prénom", "Date de naissance", "CIN"};

DefaultTableModel model = new DefaultTableModel(colonnes, 0);


while ([Link]()) {

Object[] ligne = {

[Link]("id"),

[Link]("nom"),

[Link]("prenom"),

[Link]("dates"),

[Link]("cin")

//[Link]("cin")

};

[Link](ligne);

[Link](model);

[Link](true);

} catch (SQLException ex) {

[Link](this,

"Erreur : " + [Link](),

"SQL", JOptionPane.ERROR_MESSAGE);

private void txtidActionPerformed([Link] evt) {

// TODO add your handling code here:

/**

* @param args the command line arguments

*/

public static void main(String args[]) {


/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see [Link]

*/

try {

for ([Link] info :


[Link]()) {

if ("Nimbus".equals([Link]())) {

[Link]([Link]());

break;

} catch (ReflectiveOperationException | [Link] ex) {

[Link]([Link], null, (UnsupportedLookAndFeelException) ex);

//</editor-fold>

/* Create and display the form */

[Link](() -> {

try {

new aeroport().setVisible(true);

} catch (SQLException ex) {

[Link]([Link]()).log([Link], (String) null,


ex);

});

// Variables declaration - do not modify

private [Link] afficher;

private [Link] btnAdd;


private [Link] btnModifier;

private [Link] btnSearch;

private [Link] btnSupprimer;

private [Link] jCheckBoxMenuItem1;

private [Link] jCheckBoxMenuItem2;

private [Link] jLabel1;

private [Link] jLabel10;

private [Link] jLabel11;

private [Link] jLabel2;

private [Link] jLabel3;

private [Link] jLabel4;

private [Link] jLabel5;

private [Link] jLabel6;

private [Link] jLabel7;

private [Link] jLabel8;

private [Link] jLabel9;

private [Link] jMenu1;

private [Link] jMenu10;

private [Link] jMenu11;

private [Link] jMenu12;

private [Link] jMenu13;

private [Link] jMenu14;

private [Link] jMenu15;

private [Link] jMenu16;

private [Link] jMenu17;

private [Link] jMenu18;

private [Link] jMenu19;

private [Link] jMenu2;

private [Link] jMenu20;

private [Link] jMenu3;

private [Link] jMenu4;


private [Link] jMenu5;

private [Link] jMenu6;

private [Link] jMenu7;

private [Link] jMenu8;

private [Link] jMenu9;

private [Link] jMenuBar1;

private [Link] jMenuBar2;

private [Link] jMenuBar3;

private [Link] jMenuBar4;

private [Link] jMenuBar5;

private [Link] jMenuBar6;

private [Link] jMenuBar7;

private [Link] jMenuItem1;

private [Link] jMenuItem2;

private [Link] jMenuItem3;

private [Link] jScrollPane1;

private [Link] jScrollPane2;

private [Link] jScrollPane3;

private [Link] jScrollPane4;

private [Link] jScrollPane5;

private [Link] jScrollPane6;

private [Link] jTable1;

private [Link] naiss;

private [Link] scan;

private [Link] tableau;

private [Link] txtAdresse;

private [Link] txtadresse;

private [Link]<String> txtbase;

private [Link] txtcin;

private [Link] txtfirstname;

private [Link]<String> txtid;


private [Link] txtlieu;

private [Link] txtname;

// End of variables declaration

private void icon() {

setIconImage([Link]().getImage(getClass().getResource("[Link]")));

You might also like