Khateeb Engineering Classes Mini Project Travel Agency Technology to be used Front end :Java Swings Back End: PHP Myadmin Requirements : 1) Jdk ( version 1.6 or upwards) 2) Netbeans (Version 6.0 or upwards) 3) WAMP server 4) Jcalendar.jar (version 1.4) 5) Rs2xml (Jar file) 6) Lots of common sense and patience Junaid Sir : 9820183864 Page 1
Screen 1 : package com.travel; import java.awt.color; import java.util.logging.level; import java.util.logging.logger; public class splash extends javax.swing.jframe { static Thread t = new Thread(); // we need this for implementing timer public splash() throws InterruptedException { //the sleep method which we use for thread throws this exception initcomponents(); Color backgroundcolor = new Color(200,204,255); this.getcontentpane().setbackground(backgroundcolor); setvisible(true); Junaid Sir : 9820183864 Page 2
for (int i = 1;i<=5;i++) // we want the splash screen to go away automatically after 5 seconds { /** t.sleep(1000); MainMenuScreen mms = new MainMenuScreen(); dispose();//this will delete the splash screen * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated Code"> private void initcomponents() { jlabel1 = new javax.swing.jlabel(); jlabel2 = new javax.swing.jlabel(); jlabel3 = new javax.swing.jlabel(); jlabel4 = new javax.swing.jlabel(); filler1 = new javax.swing.box.filler(new java.awt.dimension(600, 0), new java.awt.dimension(600, 0), new java.awt.dimension(600, 32767)); filler2 = new javax.swing.box.filler(new java.awt.dimension(400, 0), new java.awt.dimension(400, 0), new java.awt.dimension(400, 32767)); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); setbackground(new java.awt.color(255, 204, 204)); setforeground(java.awt.color.red); setundecorated(true); Junaid Sir : 9820183864 Page 3
setresizable(false); jlabel1.setfont(new java.awt.font("century Gothic", 1, 70)); // NOI18N jlabel1.setforeground(new java.awt.color(0, 0, 51)); jlabel1.settext("welcome to "); jlabel2.setfont(new java.awt.font("kristen ITC", 1, 80)); // NOI18N jlabel2.setforeground(new java.awt.color(0, 0, 51)); jlabel2.settext("globe Trotters"); jlabel4.seticon(new javax.swing.imageicon("c:\\users\\java\\desktop\\globetrotters\\globe-splash.jpg")); // NOI18N javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup().addcontainergap(682, Short.MAX_VALUE).addComponent(jLabel3).addGap(18, 18, 18)).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(136, Short.MAX_VALUE).addComponent(jLabel1).addContainerGap(132, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE) Junaid Sir : 9820183864 Page 4
.addcomponent(jlabel2).addgap(0, 0, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(333, Short.MAX_VALUE).addComponent(jLabel4).addContainerGap(87, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(50, Short.MAX_VALUE).addComponent(filler1, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size).addcontainergap(50, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(150, Short.MAX_VALUE).addComponent(filler2, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size).addcontainergap(150, Short.MAX_VALUE))) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup().addcontainergap(295, Short.MAX_VALUE).addComponent(jLabel3, javax.swing.grouplayout.preferred_size, 168, javax.swing.grouplayout.preferred_size) Junaid Sir : 9820183864 Page 5
.addgap(28, 28, 28)).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(89, Short.MAX_VALUE).addComponent(jLabel1).addContainerGap(315, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE).addComponent(jLabel2).addGap(0, 0, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(319, Short.MAX_VALUE).addComponent(jLabel4, javax.swing.grouplayout.preferred_size, 138, javax.swing.grouplayout.preferred_size).addcontainergap(34, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(32, Short.MAX_VALUE) Junaid Sir : 9820183864 Page 6
.addcomponent(filler1, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size).addcontainergap(459, Short.MAX_VALUE))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcontainergap(35, Short.MAX_VALUE).addComponent(filler2, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) ); pack();.addcontainergap(456, Short.MAX_VALUE))) setlocationrelativeto(null); // </editor-fold> 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 http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); Junaid Sir : 9820183864 Page 7
break; catch (ClassNotFoundException ex) { java.util.logging.logger.getlogger(splash.class.getname()).log(java.util.logging.level.s EVERE, null, ex); catch (InstantiationException ex) { java.util.logging.logger.getlogger(splash.class.getname()).log(java.util.logging.level.s EVERE, null, ex); catch (IllegalAccessException ex) { java.util.logging.logger.getlogger(splash.class.getname()).log(java.util.logging.level.s EVERE, null, ex); catch (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(splash.class.getname()).log(java.util.logging.level.s EVERE, null, ex); //</editor-fold> /* Create and display the form */ java.awt.eventqueue.invokelater(new Runnable() { public void run() { try {//this has been added as if we dont do it,the constructor reporting exception will create a problem ); new splash().setvisible(true); catch (InterruptedException ex) { Logger.getLogger(splash.class.getName()).log(Level.SEVERE, null, ex); Junaid Sir : 9820183864 Page 8
// Variables declaration - do not modify private javax.swing.box.filler filler1; private javax.swing.box.filler filler2; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jlabel jlabel3; private javax.swing.jlabel jlabel4; // End of variables declaration Screen 2 : Junaid Sir : 9820183864 Page 9
package com.travel; import java.awt.color; import java.sql.sqlexception; import java.util.calendar; import java.util.gregoriancalendar; import java.util.logging.level; import java.util.logging.logger; public class MainMenuScreen extends javax.swing.jframe { public MainMenuScreen() { initcomponents(); Color backgroundcolor = new Color(200,204,255); this.getcontentpane().setbackground(backgroundcolor); setvisible(true); setresizable(false); clockdisplay(); void clockdisplay() { Calendar cal = new GregorianCalendar(); int month = cal.get(calendar.month); int date = cal.get(calendar.date); int year = cal.get(calendar.year); Junaid Sir : 9820183864 Page 10
lbldate.settext("date :"+ date + "-" + (month+1) + "-" + year); /*we are creating a thread as we want the time to refresh after every second. if refreshing is not needed then this thread is not required*/ Thread clocktime = new Thread() { public void run() { try { while (true) { Calendar c = new GregorianCalendar(); int hour = c.get(calendar.hour); int min = c.get(calendar.minute); int sec = c.get(calendar.second); lbltime.settext("time :"+ hour + ":" + min + ":" + sec); sleep(1000); catch (InterruptedException ex) { Logger.getLogger(MainMenuScreen.class.getName()).log(Level.SEVERE, null, ex); ; //end of thread Junaid Sir : 9820183864 Page 11
clocktime.start(); // <editor-fold defaultstate="collapsed" desc="generated Code"> private void initcomponents() { jlabel1 = new javax.swing.jlabel(); jlabel2 = new javax.swing.jlabel(); lblflightbooking = new javax.swing.jlabel(); lblhotelbooking = new javax.swing.jlabel(); lbldate = new javax.swing.jlabel(); jlabel5 = new javax.swing.jlabel(); lbltime = new javax.swing.jlabel(); jmenubar1 = new javax.swing.jmenubar(); jmenu1 = new javax.swing.jmenu(); jmenuitem1 = new javax.swing.jmenuitem(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); seticonimages(null); setpreferredsize(new java.awt.dimension(700, 600)); setresizable(false); jlabel1.seticon(new javax.swing.imageicon("c:\\users\\java\\desktop\\globetrotters\\hotel.jpg")); // NOI18N jlabel2.seticon(new javax.swing.imageicon("c:\\users\\java\\desktop\\globetrotters\\flight.jpg")); // NOI18N lblflightbooking.setfont(new java.awt.font("tahoma", 1, 18)); // NOI18N lblflightbooking.setforeground(new java.awt.color(102, 0, 0)); lblflightbooking.settext("click here for flight booking"); lblflightbooking.setname("lblflightbooking"); // NOI18N lblflightbooking.addmouselistener(new java.awt.event.mouseadapter() { Junaid Sir : 9820183864 Page 12
public void mouseclicked(java.awt.event.mouseevent evt) { lblflightbookingmouseclicked(evt); ); lblhotelbooking.setfont(new java.awt.font("tahoma", 1, 18)); // NOI18N lblhotelbooking.setforeground(new java.awt.color(102, 0, 0)); lblhotelbooking.settext("click here for Hotel booking"); lblhotelbooking.setname("lblhotelbooking"); // NOI18N lbldate.setfont(new java.awt.font("tahoma", 1, 14)); // NOI18N lbldate.settext("lbldate"); lbldate.setname("lbldate"); // NOI18N jlabel5.setfont(new java.awt.font("tahoma", 1, 24)); // NOI18N jlabel5.setname("lbltime"); // NOI18N lbltime.setfont(new java.awt.font("tahoma", 1, 14)); // NOI18N lbltime.settext("lbltime"); lbltime.setname("lbltime"); // NOI18N jmenubar1.setmaximumsize(new java.awt.dimension(27, 200)); jmenubar1.setname("adminmenu"); // NOI18N jmenu1.settext("admin Login"); jmenuitem1.settext("login to Admin Account"); jmenuitem1.setname("menulogin"); // NOI18N jmenu1.add(jmenuitem1); jmenubar1.add(jmenu1); Junaid Sir : 9820183864 Page 13
setjmenubar(jmenubar1); javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(layout.createsequentialgroup().addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leadin G).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(layout.createSequentialGroup().addGap(47, 47, 47).addComponent(jLabel2)).addGroup(layout.createSequentialGroup().addGap(68, 68, 68).addComponent(lblflightbooking))).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(layout.createSequentialGroup().addComponent(lblhotelbooking).addGap(0, 0, Short.MAX_VALUE)).addComponent(jLabel1, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, Short.MAX_VALUE))).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addgap(0, 0, Short.MAX_VALUE) Junaid Sir : 9820183864 Page 14
.addcomponent(jlabel5).addgap(305, 305, 305).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addComponent(lbltime, javax.swing.grouplayout.preferred_size, 140, javax.swing.grouplayout.preferred_size).addcomponent(lbldate, javax.swing.grouplayout.preferred_size, 158, javax.swing.grouplayout.preferred_size)))).addcontainergap()) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(layout.createsequentialgroup().addgap(64, 64, 64).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G, false).addcomponent(jlabel1, javax.swing.grouplayout.preferred_size, 0, Short.MAX_VALUE).addComponent(jLabel2, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, Short.MAX_VALUE)).addGap(18, 18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI NE).addComponent(lblflightbooking).addComponent(lblhotelbooking)).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(layout.createSequentialGroup().addGap(192, 192, 192).addComponent(jLabel5).addContainerGap(69, Short.MAX_VALUE)) Junaid Sir : 9820183864 Page 15
.addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup().addpreferredgap(javax.swing.layoutstyle.componentplacement.related, javax.swing.grouplayout.default_size, Short.MAX_VALUE).addComponent(lbldate, javax.swing.grouplayout.preferred_size, 39, javax.swing.grouplayout.preferred_size).addpreferredgap(javax.swing.layoutstyle.componentplacement.related).addcomponent(lbltime, javax.swing.grouplayout.preferred_size, 45, javax.swing.grouplayout.preferred_size) );.addgap(21, 21, 21)))) pack(); setlocationrelativeto(null); // </editor-fold> private void lblflightbookingmouseclicked(java.awt.event.mouseevent evt) { try { // TODO add your handling code here: flightbooking fb = new flightbooking(); //try-catch is needed here as,flight booking class is reporting exception catch (ClassNotFoundException ex) { ex); Logger.getLogger(MainMenuScreen.class.getName()).log(Level.SEVERE, null, catch (SQLException ex) { ex); Logger.getLogger(MainMenuScreen.class.getName()).log(Level.SEVERE, null, Junaid Sir : 9820183864 Page 16
this.setvisible(false); 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 http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); break; catch (ClassNotFoundException ex) { java.util.logging.logger.getlogger(mainmenuscreen.class.getname()).log(java.util.logg ing.level.severe, null, ex); catch (InstantiationException ex) { java.util.logging.logger.getlogger(mainmenuscreen.class.getname()).log(java.util.logg ing.level.severe, null, ex); catch (IllegalAccessException ex) { java.util.logging.logger.getlogger(mainmenuscreen.class.getname()).log(java.util.logg ing.level.severe, null, ex); Junaid Sir : 9820183864 Page 17
catch (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(mainmenuscreen.class.getname()).log(java.util.logg ing.level.severe, null, ex); //</editor-fold> /* Create and display the form */ java.awt.eventqueue.invokelater(new Runnable() { public void run() { new MainMenuScreen().setVisible(true); ); // Variables declaration - do not modify private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jlabel jlabel5; private javax.swing.jmenu jmenu1; private javax.swing.jmenubar jmenubar1; private javax.swing.jmenuitem jmenuitem1; private javax.swing.jlabel lbldate; private javax.swing.jlabel lblflightbooking; private javax.swing.jlabel lblhotelbooking; private javax.swing.jlabel lbltime; // End of variables declaration Screen 3 : Junaid Sir : 9820183864 Page 18
package com.travel; import com.model.dbaseaccount; import java.awt.color; import java.sql.resultset; import java.sql.sqlexception; import java.util.date; import java.util.vector; import java.util.logging.level; import java.util.logging.logger; import javax.swing.buttongroup; import javax.swing.joptionpane; import javax.swing.table.defaulttablemodel; Junaid Sir : 9820183864 Page 19
import javax.swing.table.tablemodel; import net.proteanit.sql.dbutils; public class flightbooking extends javax.swing.jframe { ResultSet rs,rsreturn; int option; //to determine if the operation is one-way or return //NOTE: for adding a date picker we need to first download jcalendar.jar // i have copied jdatechooser (version 1.4) in my netbeans folder //then include this file in your palette manager from tools on top of your netbeans screen. //we have also downloaded rs2xml file and added to libraries, will need that for table operations /** * Creates new form flightbooking */ public flightbooking() throws ClassNotFoundException, SQLException { initcomponents(); Color backgroundcolor = new Color(200,204,255); this.getcontentpane().setbackground(backgroundcolor); departtablejpanel.setvisible(false); //we are placing the tables in side panels returntablejpanel.setvisible(false); buttonconfirm.setvisible(false); fillcombobox(); Junaid Sir : 9820183864 Page 20
setvisible(true); setresizable(false); public void fillcombobox() throws ClassNotFoundException, SQLException { //first we will empty all comboboxes cmborigin.removeallitems(); cmbdestination.removeallitems(); //Code for AUto populating the cities Combo boxes //for this we have written a getcities() method in dbaseaccount.java file dbaseaccount dba = new dbaseaccount(); //this is our class in com.model rs = dba.getsourcecity(); while (rs.next()== true) { cmborigin.additem(rs.getstring("source")); rs = dba.getdestinationcity(); while (rs.next()== true) { cmbdestination.additem(rs.getstring("destination")); Junaid Sir : 9820183864 Page 21
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated Code"> private void initcomponents() { buttongroup1 = new javax.swing.buttongroup(); buttongroup2 = new javax.swing.buttongroup(); buttongroup3 = new javax.swing.buttongroup(); buttongroup4 = new javax.swing.buttongroup(); buttongroup5 = new javax.swing.buttongroup(); jcalmodel1 = new com.jcalendar.model.jcalmodel(); jcalmodel2 = new com.jcalendar.model.jcalmodel(); jdatepickerutil1 = new org.jdatepicker.util.jdatepickerutil(); jdatepickerutil2 = new org.jdatepicker.util.jdatepickerutil(); jdatepickerutil3 = new org.jdatepicker.util.jdatepickerutil(); jdatepickerutil4 = new org.jdatepicker.util.jdatepickerutil(); jcalmodel3 = new com.jcalendar.model.jcalmodel(); jcalmodel4 = new com.jcalendar.model.jcalmodel(); jdatepickerutil5 = new org.jdatepicker.util.jdatepickerutil(); jlabel1 = new javax.swing.jlabel(); radiooneway = new javax.swing.jradiobutton(); radioreturn = new javax.swing.jradiobutton(); Junaid Sir : 9820183864 Page 22
lblorigin = new javax.swing.jlabel(); cmborigin = new javax.swing.jcombobox<>(); lbldestination = new javax.swing.jlabel(); cmbdestination = new javax.swing.jcombobox<>(); lbldeparture = new javax.swing.jlabel(); lblreturn = new javax.swing.jlabel(); buttonsearch = new javax.swing.jbutton(); buttoncancel = new javax.swing.jbutton(); departurejdatechooser = new com.toedter.calendar.jdatechooser(); returnjdatechooser = new com.toedter.calendar.jdatechooser(); departtablejpanel = new javax.swing.jpanel(); jscrollpane2 = new javax.swing.jscrollpane(); departuretable = new javax.swing.jtable(); jlabel2 = new javax.swing.jlabel(); jlabel3 = new javax.swing.jlabel(); cmbselectdepartflight = new javax.swing.jcombobox<>(); returntablejpanel = new javax.swing.jpanel(); jlabel4 = new javax.swing.jlabel(); jscrollpane1 = new javax.swing.jscrollpane(); returntable = new javax.swing.jtable(); jlabel5 = new javax.swing.jlabel(); cmbreturnflight = new javax.swing.jcombobox<>(); buttonconfirm = new javax.swing.jbutton(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); jlabel1.setfont(new java.awt.font("times New Roman", 1, 14)); // NOI18N jlabel1.setforeground(new java.awt.color(153, 0, 0)); Junaid Sir : 9820183864 Page 23
jlabel1.settext("help us choose the best flight for you..."); radiooneway.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N radiooneway.setforeground(new java.awt.color(0, 0, 102)); radiooneway.settext("one Way"); radiooneway.addmouselistener(new java.awt.event.mouseadapter() { public void mouseclicked(java.awt.event.mouseevent evt) { radioonewaymouseclicked(evt); ); radiooneway.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { radioonewayactionperformed(evt); ); radioreturn.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N radioreturn.setforeground(new java.awt.color(0, 0, 102)); radioreturn.settext("return"); radioreturn.addmouselistener(new java.awt.event.mouseadapter() { public void mouseclicked(java.awt.event.mouseevent evt) { radioreturnmouseclicked(evt); ); radioreturn.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { radioreturnactionperformed(evt); Junaid Sir : 9820183864 Page 24
); lblorigin.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N lblorigin.setforeground(new java.awt.color(0, 0, 102)); lblorigin.settext("city of Origin"); cmborigin.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N cmborigin.setmodel(new javax.swing.defaultcomboboxmodel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" )); cmborigin.setenabled(false); cmborigin.addactionlistener(new java.awt.event.actionlistener() { ); public void actionperformed(java.awt.event.actionevent evt) { cmboriginactionperformed(evt); lbldestination.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N lbldestination.setforeground(new java.awt.color(0, 0, 102)); lbldestination.settext("destination"); cmbdestination.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N cmbdestination.setmodel(new javax.swing.defaultcomboboxmodel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" )); cmbdestination.setenabled(false); cmbdestination.additemlistener(new java.awt.event.itemlistener() { public void itemstatechanged(java.awt.event.itemevent evt) { cmbdestinationitemstatechanged(evt); Junaid Sir : 9820183864 Page 25
); cmbdestination.addmouselistener(new java.awt.event.mouseadapter() { public void mouseclicked(java.awt.event.mouseevent evt) { cmbdestinationmouseclicked(evt); ); lbldeparture.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N lbldeparture.setforeground(new java.awt.color(0, 0, 102)); lbldeparture.settext("depature Date"); lblreturn.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N lblreturn.setforeground(new java.awt.color(0, 0, 102)); lblreturn.settext("return Date"); buttonsearch.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N buttonsearch.settext("search"); buttonsearch.setenabled(false); buttonsearch.addmouselistener(new java.awt.event.mouseadapter() { public void mouseclicked(java.awt.event.mouseevent evt) { buttonsearchmouseclicked(evt); ); buttonsearch.addkeylistener(new java.awt.event.keyadapter() { public void keypressed(java.awt.event.keyevent evt) { buttonsearchkeypressed(evt); ); Junaid Sir : 9820183864 Page 26
buttoncancel.setfont(new java.awt.font("times New Roman", 1, 12)); // NOI18N buttoncancel.settext("cancel"); buttoncancel.setenabled(false); buttoncancel.addmouselistener(new java.awt.event.mouseadapter() { public void mouseclicked(java.awt.event.mouseevent evt) { buttoncancelmouseclicked(evt); ); departurejdatechooser.setenabled(false); returnjdatechooser.setenabled(false); departtablejpanel.setborder(javax.swing.borderfactory.creatematteborder(1, 1, 1, 1, new java.awt.color(0, 102, 102))); departuretable.setfont(new java.awt.font("tahoma", 1, 12)); // NOI18N departuretable.setforeground(new java.awt.color(51, 0, 153)); departuretable.setmodel(new javax.swing.table.defaulttablemodel( new Object [][] { {null, null, null, null, {null, null, null, null, {null, null, null, null, {null, null, null, null, new String [] { Junaid Sir : 9820183864 Page 27
"Title 1", "Title 2", "Title 3", "Title 4" )); jscrollpane2.setviewportview(departuretable); jlabel2.setfont(new java.awt.font("tahoma", 1, 14)); // NOI18N jlabel2.setforeground(new java.awt.color(0, 0, 102)); jlabel2.settext("departure Flight"); jlabel3.setfont(new java.awt.font("tahoma", 1, 11)); // NOI18N jlabel3.setforeground(new java.awt.color(51, 0, 102)); jlabel3.settext("select your flight"); cmbselectdepartflight.setfont(new java.awt.font("tahoma", 1, 11)); // NOI18N cmbselectdepartflight.setforeground(new java.awt.color(51, 0, 102)); cmbselectdepartflight.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { cmbselectdepartflightactionperformed(evt); ); javax.swing.grouplayout departtablejpanellayout = new javax.swing.grouplayout(departtablejpanel); departtablejpanel.setlayout(departtablejpanellayout); departtablejpanellayout.sethorizontalgroup( departtablejpanellayout.createparallelgroup(javax.swing.grouplayout.alignment.le ADING) Junaid Sir : 9820183864 Page 28
.addgroup(departtablejpanellayout.createsequentialgroup().addcontainergap().addgroup(departtablejpanellayout.createparallelgroup(javax.swing.grouplayout.al ignment.leading).addcomponent(jscrollpane2, javax.swing.grouplayout.default_size, 525, Short.MAX_VALUE).addGroup(departtablejPanelLayout.createSequentialGroup().addComponent(jLabel2).addGap(0, 0, Short.MAX_VALUE))).addContainerGap()).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, departtablejpanellayout.createsequentialgroup().addcontainergap(javax.swing.grouplayout.default_size, Short.MAX_VALUE).addComponent(jLabel3, javax.swing.grouplayout.preferred_size, 127, javax.swing.grouplayout.preferred_size).addpreferredgap(javax.swing.layoutstyle.componentplacement.related).addcomponent(cmbselectdepartflight, javax.swing.grouplayout.preferred_size, 126, javax.swing.grouplayout.preferred_size) );.addgap(24, 24, 24)) departtablejpanellayout.setverticalgroup( departtablejpanellayout.createparallelgroup(javax.swing.grouplayout.alignment.le ADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, departtablejpanellayout.createsequentialgroup().addcontainergap() Junaid Sir : 9820183864 Page 29
.addgroup(departtablejpanellayout.createparallelgroup(javax.swing.grouplayout.al ignment.trailing).addgroup(departtablejpanellayout.createsequentialgroup().addgap(0, 0, Short.MAX_VALUE).addGroup(departtablejPanelLayout.createParallelGroup(javax.swing.GroupLayout.Al ignment.baseline).addcomponent(cmbselectdepartflight, javax.swing.grouplayout.preferred_size, 32, javax.swing.grouplayout.preferred_size).addcomponent(jlabel3))).addgroup(departtablejpanellayout.createsequentialgroup().addcomponent(jlabel2).addpreferredgap(javax.swing.layoutstyle.componentplacement.unrelated).addcomponent(jscrollpane2, javax.swing.grouplayout.preferred_size, 157, javax.swing.grouplayout.preferred_size) );.addgap(0, 62, Short.MAX_VALUE))).addGap(21, 21, 21)) returntablejpanel.setborder(javax.swing.borderfactory.creatematteborder(1, 1, 1, 1, new java.awt.color(102, 0, 102))); jlabel4.setfont(new java.awt.font("tahoma", 1, 14)); // NOI18N jlabel4.setforeground(new java.awt.color(0, 0, 102)); jlabel4.settext("return Flight"); returntable.setfont(new java.awt.font("tahoma", 1, 11)); // NOI18N Junaid Sir : 9820183864 Page 30
returntable.setforeground(new java.awt.color(51, 0, 102)); returntable.setmodel(new javax.swing.table.defaulttablemodel( 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" )); jscrollpane1.setviewportview(returntable); jlabel5.setfont(new java.awt.font("tahoma", 1, 11)); // NOI18N jlabel5.setforeground(new java.awt.color(0, 0, 102)); jlabel5.settext("select your return flight"); cmbreturnflight.setfont(new java.awt.font("tahoma", 1, 12)); // NOI18N cmbreturnflight.setforeground(new java.awt.color(51, 0, 153)); javax.swing.grouplayout returntablejpanellayout = new javax.swing.grouplayout(returntablejpanel); returntablejpanel.setlayout(returntablejpanellayout); returntablejpanellayout.sethorizontalgroup( returntablejpanellayout.createparallelgroup(javax.swing.grouplayout.alignment.le ADING) Junaid Sir : 9820183864 Page 31
.addgroup(returntablejpanellayout.createsequentialgroup().addcontainergap().addgroup(returntablejpanellayout.createparallelgroup(javax.swing.grouplayout.al ignment.trailing).addgroup(returntablejpanellayout.createparallelgroup(javax.swing.grouplayout.al ignment.leading).addcomponent(jscrollpane1, javax.swing.grouplayout.preferred_size, 516, javax.swing.grouplayout.preferred_size).addcomponent(jlabel4)).addgroup(returntablejpanellayout.createsequentialgroup().addcomponent(jlabel5).addpreferredgap(javax.swing.layoutstyle.componentplacement.related).addcomponent(cmbreturnflight, javax.swing.grouplayout.preferred_size, 107, javax.swing.grouplayout.preferred_size).addgap(14, 14, 14))).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); returntablejpanellayout.setverticalgroup( returntablejpanellayout.createparallelgroup(javax.swing.grouplayout.alignment.le ADING).addGroup(returntablejpanelLayout.createSequentialGroup().addGap(26, 26, 26).addComponent(jLabel4).addGap(27, 27, 27) Junaid Sir : 9820183864 Page 32
.addcomponent(jscrollpane1, javax.swing.grouplayout.preferred_size, 157, javax.swing.grouplayout.preferred_size).addgap(36, 36, 36).addGroup(returntablejpanelLayout.createParallelGroup(javax.swing.GroupLayout.Al ignment.baseline).addcomponent(jlabel5).addcomponent(cmbreturnflight, javax.swing.grouplayout.preferred_size, 31, javax.swing.grouplayout.preferred_size)) );.addcontainergap(21, Short.MAX_VALUE)) buttonconfirm.setfont(new java.awt.font("tahoma", 1, 12)); // NOI18N buttonconfirm.settext("confirm Booking"); buttonconfirm.addmouselistener(new java.awt.event.mouseadapter() { public void mouseclicked(java.awt.event.mouseevent evt) { buttonconfirmmouseclicked(evt); ); javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(layout.createsequentialgroup().addcontainergap() Junaid Sir : 9820183864 Page 33
.addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leadin G).addComponent(jLabel1).addGroup(layout.createSequentialGroup().addComponent(radiooneway, javax.swing.grouplayout.preferred_size, 84, javax.swing.grouplayout.preferred_size).addpreferredgap(javax.swing.layoutstyle.componentplacement.related).addcomponent(radioreturn, javax.swing.grouplayout.preferred_size, 84, javax.swing.grouplayout.preferred_size)).addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.trailin G, false).addgroup(javax.swing.grouplayout.alignment.leading, layout.createsequentialgroup().addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leadin G).addComponent(lblorigin).addComponent(lbldestination)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G, false).addcomponent(cmbdestination, 0, 135, Short.MAX_VALUE).addComponent(cmborigin, 0, javax.swing.grouplayout.default_size, Short.MAX_VALUE))).addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createsequentialgroup() Junaid Sir : 9820183864 Page 34
.addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leadin G).addComponent(lbldeparture).addComponent(lblreturn)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addComponent(departurejDateChooser, javax.swing.grouplayout.default_size, 133, Short.MAX_VALUE).addComponent(returnjDateChooser, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, Short.MAX_VALUE)))).addGroup(layout.createSequentialGroup().addGap(8, 8, 8).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILIN G, false).addcomponent(buttonsearch, javax.swing.grouplayout.default_size, 220, Short.MAX_VALUE).addComponent(buttoncancel, javax.swing.grouplayout.default_size, 220, Short.MAX_VALUE).addComponent(buttonconfirm, javax.swing.grouplayout.alignment.leading, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, Short.MAX_VALUE)))).addGap(27, 27, 27).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G, false) Junaid Sir : 9820183864 Page 35
.addcomponent(departtablejpanel, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, Short.MAX_VALUE).addComponent(returntablejpanel, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, Short.MAX_VALUE)) );.addcontainergap(78, Short.MAX_VALUE)) layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(layout.createsequentialgroup().addcontainergap().addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leadin G).addGroup(layout.createSequentialGroup().addComponent(jLabel1, javax.swing.grouplayout.preferred_size, 24, javax.swing.grouplayout.preferred_size).addgap(27, 27, 27).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI NE).addComponent(radiooneway).addComponent(radioreturn)).addGap(18, 18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addGroup(layout.createSequentialGroup().addComponent(lblorigin).addGap(18, 18, 18) Junaid Sir : 9820183864 Page 36
.addcomponent(lbldestination)).addgroup(layout.createsequentialgroup().addcomponent(cmborigin, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size).addgap(18, 18, 18).addComponent(cmbdestination, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size))).addgap(17, 17, 17).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addComponent(lbldeparture).addComponent(departurejDateChooser, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)).addgap(37, 37, 37).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G).addComponent(lblreturn).addComponent(returnjDateChooser, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)).addgap(69, 69, 69)).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup().addcomponent(departtablejpanel, javax.swing.grouplayout.preferred_size, Junaid Sir : 9820183864 Page 37
javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size).addgap(18, 18, 18))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G, false).addgroup(layout.createsequentialgroup().addcomponent(buttonsearch).addgap(18, 18, 18).addComponent(buttoncancel).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.grouplayout.default_size, Short.MAX_VALUE).addComponent(buttonconfirm)).addComponent(returntablejpanel, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)).addcontainergap(javax.swing.grouplayout.default_size, Short.MAX_VALUE)) ); pack(); setlocationrelativeto(null); // </editor-fold> private void radioonewayactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: Junaid Sir : 9820183864 Page 38
private void radioreturnactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: private void cmboriginactionperformed(java.awt.event.actionevent evt) { // TODO add your handling code here: private void radioonewaymouseclicked(java.awt.event.mouseevent evt) { // TODO add your handling code here: radioreturn.setenabled(false); cmborigin.setenabled(true); cmbdestination.setenabled(true); departurejdatechooser.setenabled(true); buttonsearch.setenabled(true); buttoncancel.setenabled(true); option = 1; //indicating that user has selected one way //Once the date chooser becomes active, we will set todays date as default -Junaid Khateeb Date d = new Date(); departurejdatechooser.setdate((d)); private void cmbdestinationitemstatechanged(java.awt.event.itemevent evt) { // THis will check if the origin and the destination cities are the same, if yes,generate error Junaid Sir : 9820183864 Page 39
// if ( cmborigin.getselecteditem()== cmbdestination.getselecteditem() ) // JOptionPane.showMessageDialog(null, "Origin and destination cities cant be the same.","inane warning", JOptionPane.WARNING_MESSAGE); private void cmbdestinationmouseclicked(java.awt.event.mouseevent evt) { private void radioreturnmouseclicked(java.awt.event.mouseevent evt) { // TODO add your handling code here: radiooneway.setenabled(false); cmborigin.setenabled(true); cmbdestination.setenabled(true); departurejdatechooser.setenabled(true); returnjdatechooser.setenabled(true); buttonsearch.setenabled(true); buttoncancel.setenabled(true); option = 2; //indicating that user has selected return Date d = new Date(); departurejdatechooser.setdate((d)); returnjdatechooser.setdate((d)); Junaid Sir : 9820183864 Page 40
private void buttonsearchkeypressed(java.awt.event.keyevent evt) { private void buttonsearchmouseclicked(java.awt.event.mouseevent evt) { String source,dest; ResultSet rs1 = null,rs2=null; if (option ==1) { source = cmborigin.getselecteditem().tostring(); dest = cmbdestination.getselecteditem().tostring(); dbaseaccount dba = new dbaseaccount(); //this is our class in com.model try { rs = dba.getdepartureflight(source,dest); //calling function from database rs1=rs; catch (ClassNotFoundException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, catch (SQLException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, departtablejpanel.setvisible(true); buttonconfirm.setvisible(true); Junaid Sir : 9820183864 Page 41
//Define TableModel TableModel tmodel = new DefaultTableModel(); departuretable.setmodel(dbutils.resultsettotablemodel(rs)); try { //adding selected flight codes to combo box rs1.beforefirst(); while (rs1.next()== true) { cmbselectdepartflight.additem(rs1.getstring("flightid")); catch (SQLException ex) { Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, ex); else { if (option ==2) { source = cmborigin.getselecteditem().tostring(); dest = cmbdestination.getselecteditem().tostring(); dbaseaccount dba = new dbaseaccount(); //this is our class in com.model try { rs = dba.getdepartureflight(source,dest); //calling function from database rsreturn = dba.getreturnflight(source,dest); rs1=rs; rs2=rsreturn; Junaid Sir : 9820183864 Page 42
catch (ClassNotFoundException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, catch (SQLException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, departtablejpanel.setvisible(true); returntablejpanel.setvisible(true); buttonconfirm.setvisible(true); //Define TableModel TableModel tmodel = new DefaultTableModel(); departuretable.setmodel(dbutils.resultsettotablemodel(rs)); returntable.setmodel(dbutils.resultsettotablemodel(rsreturn)); try { //adding selected flight codes to combo box rs1.beforefirst(); while (rs1.next()== true) { cmbselectdepartflight.additem(rs1.getstring("flightid")); catch (SQLException ex) { Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, ex); Junaid Sir : 9820183864 Page 43
try { //adding selected return flight codes to combo box rs2.beforefirst(); while (rs2.next()== true) { cmbreturnflight.additem(rs2.getstring("flightid")); catch (SQLException ex) { Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, ex); { private void cmbselectdepartflightactionperformed(java.awt.event.actionevent evt) // TODO add your handling code here: Junaid Sir : 9820183864 Page 44
private void buttoncancelmouseclicked(java.awt.event.mouseevent evt) { // TODO add your handling code here: MainMenuScreen m = new MainMenuScreen(); this.dispose(); private void buttonconfirmmouseclicked(java.awt.event.mouseevent evt) { // on clicking this button we will collect ll data that user has selected and //send it to the next form in a vector Vector bookingdetails = new Vector (); bookingdetails.addelement(cmborigin.getselecteditem()); //index 0 on vector bookingdetails.addelement(cmbdestination.getselecteditem());//index 1 on vector bookingdetails.addelement(departurejdatechooser.getdate());//index 2 on vector bookingdetails.addelement(cmbselectdepartflight.getselecteditem());//index 3 on vector if (option == 2) { bookingdetails.addelement(returnjdatechooser.getdate());//index 4 on vector bookingdetails.addelement(cmbreturnflight.getselecteditem());//index 5 on vector FinalBooking fb = new FinalBooking(); try { fb.flightdetails(bookingdetails,option); Junaid Sir : 9820183864 Page 45
catch (SQLException ex) { Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, ex); /** * @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 http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); break; catch (ClassNotFoundException ex) { Junaid Sir : 9820183864 Page 46
java.util.logging.logger.getlogger(flightbooking.class.getname()).log(java.util.logging. Level.SEVERE, null, ex); catch (InstantiationException ex) { java.util.logging.logger.getlogger(flightbooking.class.getname()).log(java.util.logging. Level.SEVERE, null, ex); catch (IllegalAccessException ex) { java.util.logging.logger.getlogger(flightbooking.class.getname()).log(java.util.logging. Level.SEVERE, null, ex); catch (javax.swing.unsupportedlookandfeelexception ex) { java.util.logging.logger.getlogger(flightbooking.class.getname()).log(java.util.logging. Level.SEVERE, null, ex); //</editor-fold> /* Create and display the form */ java.awt.eventqueue.invokelater(new Runnable() { public void run() { try { new flightbooking().setvisible(true);//type this statemnt first, it will automatically sorrounded by try-catch catch (ClassNotFoundException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, catch (SQLException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, Junaid Sir : 9820183864 Page 47
); // Variables declaration - do not modify private javax.swing.buttongroup buttongroup1; private javax.swing.buttongroup buttongroup2; private javax.swing.buttongroup buttongroup3; private javax.swing.buttongroup buttongroup4; private javax.swing.buttongroup buttongroup5; private javax.swing.jbutton buttoncancel; private javax.swing.jbutton buttonconfirm; private javax.swing.jbutton buttonsearch; private javax.swing.jcombobox<string> cmbdestination; private javax.swing.jcombobox<string> cmborigin; private javax.swing.jcombobox<string> cmbreturnflight; private javax.swing.jcombobox<string> cmbselectdepartflight; private javax.swing.jpanel departtablejpanel; private com.toedter.calendar.jdatechooser departurejdatechooser; private javax.swing.jtable departuretable; private com.jcalendar.model.jcalmodel jcalmodel1; private com.jcalendar.model.jcalmodel jcalmodel2; private com.jcalendar.model.jcalmodel jcalmodel3; private com.jcalendar.model.jcalmodel jcalmodel4; private org.jdatepicker.util.jdatepickerutil jdatepickerutil1; private org.jdatepicker.util.jdatepickerutil jdatepickerutil2; private org.jdatepicker.util.jdatepickerutil jdatepickerutil3; Junaid Sir : 9820183864 Page 48
private org.jdatepicker.util.jdatepickerutil jdatepickerutil4; private org.jdatepicker.util.jdatepickerutil jdatepickerutil5; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jlabel jlabel3; private javax.swing.jlabel jlabel4; private javax.swing.jlabel jlabel5; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jscrollpane jscrollpane2; private javax.swing.jlabel lbldeparture; private javax.swing.jlabel lbldestination; private javax.swing.jlabel lblorigin; private javax.swing.jlabel lblreturn; private javax.swing.jradiobutton radiooneway; private javax.swing.jradiobutton radioreturn; private com.toedter.calendar.jdatechooser returnjdatechooser; private javax.swing.jtable returntable; private javax.swing.jpanel returntablejpanel; // End of variables declaration Screen 4: Junaid Sir : 9820183864 Page 49
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools Templates * and open the template in the editor. Junaid Sir : 9820183864 Page 50
*/ package com.travel; import com.model.dbaseaccount; import java.awt.color; import java.sql.resultset; import java.sql.sqlexception; import java.text.dateformat; import java.text.simpledateformat; import java.util.vector; import java.util.logging.level; import java.util.logging.logger; import javax.swing.joptionpane; import javax.swing.table.defaulttablemodel; import javax.swing.table.tablemodel; import net.proteanit.sql.dbutils; /** * * @author JAVA */ public class FinalBooking extends javax.swing.jframe { ResultSet rs; double totalfare; int op;//will use it in insert function Vector v1;//will use it in insert function Junaid Sir : 9820183864 Page 51
public FinalBooking() { initcomponents(); Color backgroundcolor = new Color(200,204,255); this.getcontentpane().setbackground(backgroundcolor); returnjpanel.setvisible(false); setvisible(true); setresizable(false); public void flightdetails(vector v,int option) throws SQLException { String code,code1,departtime = null,departfare = null,returntime = null,returnfare = null; op = option; v1 =v; code = String.valueOf(v.get(3));//we have passed flight code in index 3 of vector // now to get deart time and fare for selected flight dbaseaccount dba = new dbaseaccount(); //this is our class in com.model try { rs = dba.finaldepart(code); //calling function from database catch (ClassNotFoundException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, catch (SQLException ex) { Junaid Sir : 9820183864 Page 52
ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, rs.beforefirst(); while (rs.next()== true) { departtime = rs.getstring("departtime"); departfare = rs.getstring("fare"); lbldepartureflight.settext(string.valueof(v.get(0)) +" to "+ String.valueOf(v.get(1))); lbldepartflightcode.settext(lbldepartflightcode.gettext() +" " + String.valueOf(v.get(3)) ); DateFormat df = new SimpleDateFormat("dd-MM-yyyy");//if we dont do this, system will display the current time also lbldepartflightdate.settext(lbldepartflightdate.gettext() +" " + String.valueOf(df.format( v.get(2))) ); lbldepartflighttime.settext(lbldepartflighttime.gettext() +" " + departtime ); lbldepartfare.settext(lbldepartfare.gettext() +" " + departfare ); totalfare = 1.18 * (Integer.parseInt(departfare)); Junaid Sir : 9820183864 Page 53
lbltotalfare.settext(lbltotalfare.gettext() +" " + totalfare ); if (option ==2) //fetching additional data for return { returnjpanel.setvisible(true); code1 = String.valueOf(v.get(5));//we have passed flight code in index 3 of vector // now to get deart time and fare for selected flight dbaseaccount dba1 = new dbaseaccount(); //this is our class in com.model try { rs = dba1.finalreturn(code1); //calling function from database catch (ClassNotFoundException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, catch (SQLException ex) { ex); Logger.getLogger(flightBooking.class.getName()).log(Level.SEVERE, null, rs.beforefirst(); while (rs.next()== true) { returntime = rs.getstring("departtime"); returnfare = rs.getstring("fare"); Junaid Sir : 9820183864 Page 54