Travel Agency. Khateeb Engineering Classes. Mini Project. Khateeb Engineering Classes: / Technology to be used

Similar documents
* To change this license header, choose License Headers in Project Properties.

Answer on question #61311, Programming & Computer Science / Java

* To change this license header, choose License Headers in Project Properties.

/** Creates new form NewJFrame */ public NewJFrame() { initcomponents(); initblogsearch(); //initializes Index List box }

Appendix I: Software Coding

Java Programming Summer 2008 LAB. Thursday 8/21/2008

JAVA CODE JAVA CODE: BINOMIAL TREES OPTION PRICING BINOMIALTREE CLASS PAGE 1

I.1 Introduction Matisse GUI designer I.2 GroupLayout Basics Sequential and Parallel Arrangements sequential horizontal orientation

DAFTAR LAMPIRAN. Source Code Java Aplikasi Keyword to Image Renamer Split

jlabel14 = new javax.swing.jlabel(); jlabel15 = new javax.swing.jlabel(); jlabel16 = new javax.swing.jlabel(); jlabel17 = new javax.swing.

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO

Project Helpine Report BANQUET HALL BOOKING

privateint m, n, smithitemcount, raitaitemcount;

/* * MoraDrill.java * Version last updated 6 April 2010 * Written by John K. Estell * Created on November 30, 2008, 10:22 PM */

CHAPTER 8 INFERENCE. The concept of Inference would be explained in the following chapter, as the CTBN

Role-Coll Role Based Collaboration Software

Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS

1 Using the NetBeans IDE

LAMPIRAN Lampiran Utama. a. Struktur Organisasi

LAMPIRAN PERANGKAT LUNAK

Our first program is a simple calculator, which will carry out the arithmetic operations of adding, subtracting, multiplying and dividing numbers.

グラフを表すデータ構造 JAVA での実装

Lampiran A. SOURCE CODE PROGRAM

LAMPIRAN. 1. Lampiran Utama. a. Struktur Organisasi Perusahaan

Chapter 8. Java continued. CS Hugh Anderson s notes. Page number: 264 ALERT. MCQ test next week. This time. This place.

Java continued. Chapter 8 ALERT ALERT. Last week. MCQ test next week. This time. This place. Closed book. Assignment #2 is for groups of 3

Goals. Lecture 7 More GUI programming. The application. The application D&D 12. CompSci 230: Semester JFrame subclass: ListOWords

TECHNICAL DOCUMENTATION

We have several alternatives now, which we need to address. Here is a list of them: 1. How to get HTML interpreted correctly.

CSCI 201L Midterm Written Summer % of course grade

PART 23. Java GUI Advanced JList Component. more items.

The class definition is not a program by itself. It can be used by other programs in order to create objects and use them.

SampleApp.java. Page 1

Based on slides by Prof. Burton Ma

SQream Connector JDBC SQream Technologies Version 2.9.3

AP CS Unit 11: Graphics and Events

CSCI 201L Midterm Written SOLUTION Summer % of course grade

Studying software design patterns is an effective way to learn from the experience of others

3 Multiple windows. Chapter 3: Multiple windows 57

Forte for Java Community Edition 1.0

In this chapter we will examine arrays, and the ways that they can be used in combination with loop structures to process data in programs.

Systems Programming. Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid

PART 22. Java GUI Library SWT GUI Library SWING GUI Library Swing First Program

COMP16121 Sample Code Lecture 1

CSCI 201L Midterm Written Fall % of course grade

Multiple Choice Questions: Identify the choice that best completes the statement or answers the question. (15 marks)

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Tiers (or layers) Separation of concerns

CSCI 201L Midterm Written SOLUTION Fall % of course grade

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

AnimatedImage.java. Page 1

Example: Building a Java GUI

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Example: Building a Java GUI

Chapter 13 Lab Advanced GUI Applications

Abstract. 1. What is an ABSTRACT METHOD? 2. Why you would want to declare a method as abstract? 3. A non-abstract CLASS is called a concrete class

3 CREATING YOUR FIRST JAVA APPLICATION (USING WINDOWS)

C: THE PROGRAM Devin Kwok: Dossier 2008

GUI Components Continued EECS 448

EJB - ACCESS DATABASE

10 Object oriented programming

1 (6) Lösningsförslag Objektorienterade applikationer Provdatum Program DAI 2 Läsår 2016/2017, lp 3. Uppgift 1 (1+1+1 p) a)

A Simple Text Editor Application

COSC 123 Computer Creativity. Graphics and Events. Dr. Ramon Lawrence University of British Columbia Okanagan

MainWindow.java. Page 1

Graphical User Interface

This is the java code for generating coördinates of molecules numerically using the CDNT framework with real-time input and diagramatic output.

So You Want to Build a Burp Plugin?

Swing - JTextField. Adding a text field to the main window (with tooltips and all)

G51PGP Programming Paradigms. Lecture 009 Concurrency, exceptions

Chapter 3: A Larger Example: SocketChat

Chapter 13 Lab Advanced GUI Applications Lab Objectives. Introduction. Task #1 Creating a Menu with Submenus

Prototyping a Swing Interface with the Netbeans IDE GUI Editor

Building a Java First-Person Shooter

CreateServlet.java

Accessing databases in Java using JDBC

Writing your own Exceptions. How to extend Exception

Java and OOP. Part 5 More

CSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige

Program #3 - Airport Simulation

FirstSwingFrame.java Page 1 of 1

CS 110 Practice Final Exam originally from Winter, Instructions: closed books, closed notes, open minds, 3 hour time limit.

// autor igre Ivan Programerska sekcija package mine;

HL7 FHIR Data Consolidation Tool

import java.applet.applet; import java.applet.audioclip; import java.net.url; public class Vjesala2 {

Pieter van den Hombergh. March 25, 2018

Page 1 of 16. Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

DESIGN AND IMPLEMENTATION OF A PUZZLE GAME USING JAVA SE 1. University Politehnica Timisoara, Faculty Engineering Hunedoara, ROMANIA

NetBeans IDE Java Quick Start Tutorial

This document shows the whole program for the implementation of the Withdraw operation specication.

CS111: PROGRAMMING LANGUAGE II

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

search value 94 not found

CS108, Stanford Handout #22. Thread 3 GUI

Programming a Bank Database. We ll store the information in two tables: INTEGER DECIMAL(10, 2)

17 GUI API: Container 18 Hello world with a GUI 19 GUI API: JLabel 20 GUI API: Container: add() 21 Hello world with a GUI 22 GUI API: JFrame: setdefau

1. Go to the URL Click on JDK download option

CS 351 Design of Large Programs Threads and Concurrency

Widgets. Widgets Widget Toolkits. 2.3 Widgets 1

Lecture 03: Thread API (continue)

Transcription:

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