You are on page 1of 162

PAGE \* MERGEFORMAT 1

ABSTRACT
Train Booking System is a project which aims in developing a computerized system to maintain all
the work of Train Travelling. This project has many features which are generally not availiable in
normal Train Booking Systems like facility of user login and a facility of Signup and changing
password.
This project have various types of facilities panel to manage Train travelling related operation. This
project having various kinds of panel like Login, Signup, Book Ticket, Add Passenger information,
Train, Passenger information panel, create new registration of Passenger and view Passenger
PAGE \* MERGEFORMAT 1
information Train wise, Date wise, Passenger name wise etc. This project provide very simple
mode to update information and delete records of Passenger where passenger can cancel the ticket.
Here we have very information panel where we can views entire passenger and Train related
information.
This project have Change password facility to change old password if password is not secure.
Overall view it is completely very good project for Managinig Train Depot, Ticket, view Passenger
related information of Train.

TABLE OF CONTENTS
Page
ACKNOWLEDGEMENTS .................................................................................................... 3
ABSTRACT ............................................................................................................................ 4
1. INTRODUCTION.................................................................................................. 6
2. (Statement of Problem) ………………………………………………………….. 7
3. Proposed Solutions ………………………………………………………………. 8
4. Database Layer …...................................................................................... 10-13
4.1 E-R Diagram /DFD .................................................................... 10
4.2 Table …………………………………………………………. 11-13
5. External Interface…………………………………………………………. 14
5.1 Hardware Interface …………………………………………….. 14
5.2 Software Interface ……………………………………………… 15
6. Process Logic Layer ………………………………………………………. 16
6.1 Input Specification ………………………………………………. 17
PAGE \* MERGEFORMAT 4
6.2 Output Specification………………………………………………. 18
6.3 Coding …………………………………………………………….. 20
6.3.1. Login input and coding.................................................. 20 – 28
6.3.2 Signup input and coding ................................................ 29 – 41
6.3.3 Home Deskpanel and coding.......................................... 42-57
6.3.4 Traindisplay form and coding …...................................... 58-77
6.3.5. Trainticket information panel and coding……………… 78-89
6.3.6 Travel details panel and coding………….……………. 90-108
6.3.7 Payment form and……………………………………. 110-127
6.3.8 Trasaction no. and Ticket No. form and code……....... 128-134
8.3.9. Display passenger information panel and code.……... 135-147
8.3.10 Add Train Panel and coding…………………………… 148-160
7. Book Ticket (Working Process of Project) ……………………………… 161-166
8. Future Scope ……………………………………………………………. 167
9. References ………………………………………………………………. 168 -169

Chepter 1 – INTRODUCTION
This chapter gives an overview about the aim , objectives ,background and operation environment
of the system.

PROJECT AIMS AND OBJECTIVES


The project aims and objectives that will be achieved after completion of this project are discussed
in this subchapter. The aims and objectives are as follows:
 Online Train Ticket issue
 Add Train Panel for providing add new Train in Train Booking System.
 Train Display panel dipslay all the Traines available in Train Depot. Here we can check all
the Traines by there city name.
 Book Ticket Panel display infromation about the Train, correct route, travelling time
(departure and arrival)
 This Project have Traveller Details form where firstly generate booking code then enter
traveller information.
PAGE \* MERGEFORMAT 4
 Here we have Payment Panel where user can pay ticket amount by debit card/credit card.
 When complete payment process it automatic generate Booking code and Transaction
Number.
 This project have Passenger information panel we can display all the information of the
passenger by there Passenger name, Travelling date, Train Number, Contact Number etc.

Chepter 2 – Statement of Problem

Traines are the most frequently available and most used vehicle for going from small distance trip
to very long trip. They’re a no. of types of Traines available in the market according to the private
or public.
According to ac or no ac. Apart from this interstate, shrine or inter country also possible. What the
problem here arises about the ticket is everyone has to take a card and want seats.
But it’s not possible. The Traines which will register on our system will have the option to give
their customers an option to select the seats of the Train according to their wish as many places
depending on the availability.
Making the system more useful unique tickets will be generated as its seats confirmed. Here we are
with a system which can facilitate the users to which they can get their seats prior.
As staff will decide the seat availability and here we have other users like the staff of the Train and
driver with the owner who together collaborates in smooth functioning of the Train ticket booking
system.

PAGE \* MERGEFORMAT 4
Chepter 3 – Proposed Solution

The module of the Train Booking System is made of the combination of modules which work with
collaboration with each other and make it beneficial to accomplish the main aim of the scheme.
Ticket Booking:
This module of the project is for the users who want to book the tickets for the journey they want to
do at the time of their desire.
They fill the details accordingly like time of travel no. Of people they want to go they select the
seats which are available for the booking as the seats which are booked already will be blocked
their and remaining seats are available.
They get a digital ticket, and they can board the Train at the time given.
Payment:
They may make payment online through their debit card they use this module to pay as the ticket
shows the amount in the account of the owner of the Train.As he makes the payment, the card
becomes confirmed and ready to be used.
Ticket Checking :
The verification of the cards is done by the conductor of the Train, he comes to the user and asks for
a ticket no. As they take it, he checks and confirms their booking and let them ride.
Registration:
PAGE \* MERGEFORMAT 4
Users information have to be compelled to be registered within the system thus on establish every
of them unambiguously and do the required group acts as the real potential. Like on the name of the
bill are issued.
On the far side, this plenty of things require measure there wherever we will reference him. Without
registration, there are few options and pages one user can see which are landing on the home page
and taking the features read but he won’t be allowed to use those.
For use, he will have to register. One person needs to put his all the details correctly and precisely
as it will be helpful in identifying them and believing that he is the real person who has booked for
the same.
It also includes driver license for them who is driving and parameter too.
Log in:
After registration one will register within the system because of the operator of the system either on
behalf of the user. When this he has the different helpful interfaces accessible for any actions.
Here either bride or groom both have to log in with their unique identity and passwords. After this,
they will be directed to the primary user interface from where they have further options.
Change password:
This is quite often that people tend to change the password they keep for the login. So this could be
very tedious and hectic to change the password manually.
So to overcome this problem we have this module named as change a password and using this
module user can change their password in seconds.

Admin:
Admin has the official powers to control the flow of the data from one part of the system to the
other. He can manipulate the access of the users to the data.
The primary purpose of this account is to make the user data relevant and then giving the inputs to
the other interface module and make it work optimistically and get the time table according to the
wish we want to create for a particular type of inputs.
Hence all the data will be reflected in clean and well data in the interfaces.
You can also check Train Booking System.

PAGE \* MERGEFORMAT 4
Chepter 4 – Database Layer
4.1 ER-Diagram / DFD
name

Trainsignup

amount
username address
Trainpayment dob
Password1

Password2 lastname
transid cvv

cardnumber nameoncard

Bookingcode exdate
MIMT
Database

Train Trainbookingcode
PAGE \* MERGEFORMAT 4
Train arptime
Birthyear
booking
departure deptime lastname
4.2 DataBase and Tables

DataBase Name : trdb

Tables Design

TrainBooking Code Table

PAGE \* MERGEFORMAT 4
Train Table

Train Payment Table

Trainsignup Table

PAGE \* MERGEFORMAT 4
Traintraveller Table

PAGE \* MERGEFORMAT 4
Chepter 5 – External Interface

PAGE \* MERGEFORMAT 4
5.1 Hardware Interface

Processor Dual Core / Core 2 Dual / i3

Memory 1 GB RAM or More

Hard Disk Minimum 3 GB form store Database or More

HARDWARE REQUIREMENTS

Intel dual core 2nd generation is used as a processor because it is fast than other processors an
provide reliable and stable and we can run our pc for longtime. By using this processor we can keep
on developing our project without any worries.
Ram 1 gb is used as it will provide fast reading and writing capabilities and will in turn support in
processing

5.2 Software Interface

PAGE \* MERGEFORMAT 4
Operating System Window Xp / 7 / 8 / 10

Front End Java Programming

Back End MySql

Designing Tool Netbeans 7.4

SOFTWARE REQUIREMENTS

Operating system- Windows 7 is used as the operating system as it is stable and supports more
features and is more user friendly
Database MYSQL- MYSQL is used as database as it easy to maintain and retrieve records by
simple queries which are in English language which are easy to understand and easy to write.
Development tools and Programming language- JAVA Programming is used to write the whole
code and develop Train Booking System with MySql.

Chepter 6 – Process Logic Layers

Login Process

PAGE \* MERGEFORMAT 4
Enter Username
Singup Home
password
(Create new account) (Dashboard)
(Login Panel)

(trdb DataBase)

Ticket Booking Process (Data Flow Diagram)

Search Train Select Train


Home
(Home) (Train panel)

Booking
Train Ticket
Done
Infromation
trdb DataBase

Payment Traveller Details

6.1 – Input Specification

Project : Train Booking System


PAGE \* MERGEFORMAT 4
Input Specification :

Traditional specifications are ‘input specifications’. They are prescriptive, that is, they describe
in detail the products, materials and work (the inputs) required by a contract. Typically,
thedevelopment of the solution required by the contract is complete and no (or little) further
development is required by the supplier. The specification is considered to be a ‘closed
specification’.

Prescriptive input specifications give the client certainty about the end product when
makinginvestment decisions, but place a greater burden on them to ensure the product has been
thoroughly considered, developed and described. They tend to be used where a very specific end
result required.

Source Library IDE

Java Mysql connector-java-5.1.35- Netbeans 7.4


bin.jar (Integreted Development
Operators Environment)
As a tool for API Interface.
Conditional Statmenets Swingx-all-1.6.4.jar (Designing coding)

Arithmatical and Logical Beans Binding – beansbinding-


Statements 1.2.1.jar

Database Connectivitiy JDK 1.7

6.2 Output Specification :

PAGE \* MERGEFORMAT 4
Output specifications define only the outcomes (or outputs) that are required by the contract, that is,
what it will enable the client to do. They are open specifications that do not attempt to address how
those outputs might be achieved. The standard for what is required might be defined,

Modules Requirements Display Content

Require Username and Display Login form for


Login password to open Train complete the loging requiremnt
Booking System project and define authorized user
Display Signup form api with
multiple text field, lables,
Require to fill all the details of textarea, combobox and
Signup the user who wants ot register buttons.
for booking a ticket Where user can easily
understant how fulfill the
required information.
Require to search Train by
Display Dashboard Form with
select from and to cities,
various panel including
departure date, traveller class
textfield, Combobox,
like Ac, Non Ac, Sleeper, Non
Home DatePicker, Image and Buttons.
Sleeper ext.
Dashboard is well designed and
It helps to display all available
coded for performing good
Traines according to filled
performance.
information.
Display list of Available
Require to select specific Train
Traines and with the Train no.,
DisplayTrain which is most comfort for
Departure time, Arrival Time
ticket.
and related information.
Require to confirm your Train
Display Ticket information,
and go to next panel.
Booking Ticket Train Information, Timing of
If you are satisfy with the
Departure and Arrival.
details.
Require to Generate Booking Display Complete form of
code by enter your date of birth Traveller. Where Generate
and lastname, Booking Code Button generate
Traveller Details
After enter your personal and booking code after fulfill the
contact information to generate require details of the traveller
Train ticket. in required fields.
Require to pay amount of the
ticket by using credit card or Display Payment gate way
debit card. form with debit ro credit card
Payment
Fulfill the card details and field. And display all the
make your payment conform summary of the Train ticket.
for booking ticket.
Require to note down your
Display Ticket Number and
Ticketno. Ticket No. and Transaction No.
Transaction Number.
from this panel.
Passenger Information Requre to select Search Display Search Passenger panel
PAGE \* MERGEFORMAT 4
category like passenger name
wise, contact wise, Train no.
wise, date of birth wise, Ticket with combo box, textfield and
number wise and enter the search details button.
name or contact of Trainno. Or Display passenger information
dob or ticket no. in the text in Jtable with multiple fileds.
filed and search passenger
details.

6.3 Project Forms and Coding

6.3.1 – Login Panel

PAGE \* MERGEFORMAT 4
import java.awt.Color;
import java.awt.Frame;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JoptionPane;

public class Login extends javax.swing.Jframe


{
Connection con;
Statement st;
ResultSet rs;

public Login()
{
initComponents();
this.setLocationRelativeTo(null);

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
}

PAGE \* MERGEFORMAT 4
catch(ClassNotFoundException | SQLException ex1)
{ }

@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>

private void initComponents()


{
jPanel2 = new javax.swing.Jpanel();
jLabel2 = new javax.swing.Jlabel();
user1 = new javax.swing.JtextField();
jLabel3 = new javax.swing.Jlabel();
pass1 = new javax.swing.JpasswordField();
jButton1 = new javax.swing.Jbutton();
jButton2 = new javax.swing.Jbutton();
jLabel4 = new javax.swing.Jlabel();
jPanel1 = new javax.swing.Jpanel();
jLabel1 = new javax.swing.Jlabel();
cls = new javax.swing.Jlabel();
mini = new javax.swing.Jlabel();
jLabel6 = new javax.swing.Jlabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(255, 255, 255));
setUndecorated(true);

jPanel2.setBackground(new java.awt.Color(0, 51, 102));


jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

jLabel2.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“User Name : “);

user1.setBackground(new java.awt.Color(204, 204, 204));


user1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
user1.setForeground(new java.awt.Color(51, 51, 51));

jLabel3.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText(“Password : “);

pass1.setBackground(new java.awt.Color(204, 204, 204));


pass1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
pass1.setForeground(new java.awt.Color(51, 51, 51));

jButton1.setBackground(new java.awt.Color(0, 153, 255));


jButton1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 255, 255));
PAGE \* MERGEFORMAT 4
jButton1.setText(“Login”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton2.setBackground(new java.awt.Color(255, 102, 51));


jButton2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
jButton2.setForeground(new java.awt.Color(255, 255, 255));
jButton2.setText(“Cancel”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jLabel4.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText(“Click Here to Create a New Account”);
jLabel4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel4.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel4MouseClicked(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(28, 28, 28)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING, false)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 177,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(pass1)
.addComponent(user1, javax.swing.GroupLayout.PREFERRED_SIZE, 312,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel2))
PAGE \* MERGEFORMAT 4
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(16, 16, 16)))
.addContainerGap(34, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap(69, Short.MAX_VALUE)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(user1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pass1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(37, 37, 37)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 39,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 39,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(48, 48, 48)
.addComponent(jLabel4)
.addGap(35, 35, 35))
);

jPanel1.setBackground(new java.awt.Color(255, 153, 0));

jLabel1.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText(“Login Form”);

cls.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


cls.setForeground(new java.awt.Color(255, 255, 255));
cls.setText(“x”);
cls.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
cls.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
clsMouseClicked(evt);
}
});

mini.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


mini.setForeground(new java.awt.Color(255, 255, 255));
mini.setText(“-“);
PAGE \* MERGEFORMAT 4
mini.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
mini.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
miniMouseClicked(evt);
}
});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(mini)
.addGap(18, 18, 18)
.addComponent(cls)
.addGap(18, 18, 18))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(5, 5, 5)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(cls, javax.swing.GroupLayout.DEFAULT_SIZE, 49,
Short.MAX_VALUE)
.addComponent(mini, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);

jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Copy of
Transpo_XcelsiorChargeCharging_TA.jpg”))); // NOI18N

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

PAGE \* MERGEFORMAT 4
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 568,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)))
);

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

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)


{

// Cancel Button Code

user1.setText(“”);
pass1.setText(“”);
}

private void jLabel4MouseClicked(java.awt.event.MouseEvent evt)


{
// Click here to create a new account code

signup s1 = new signup();


s1.setVisible(true);
s1.pack();
s1.setLocationRelativeTo(null);
s1.setDefaultCloseOperation(Login.EXIT_ON_CLOSE);
this.dispose();
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)


{
// Login Button Code

String userinput = user1.getText();


String passinput = pass1.getText();
PAGE \* MERGEFORMAT 4
String u1,p1;

String qur = “select * from Trainsignup”;


try
{
st = con.createStatement();
rs = st.executeQuery(qur);

int d = 0;

while(rs.next())
{
u1 = rs.getString(“username”);
p1 = rs.getString(“password”);

if(u1.equals(userinput))
{
if(p1.equals(passinput))
{
JoptionPane.showMessageDialog(this, “Login Successfully Done “);

Home h1 = new Home();


h1.setVisible(true);
h1.pack();
h1.setLocationRelativeTo(null);
h1.setDefaultCloseOperation(Login.EXIT_ON_CLOSE);
this.dispose();

d = 1;
break;
}
}
}

if(d == 0)
{
JoptionPane.showMessageDialog(this, “Account Not Found…”);
user1.setText(“”);
pass1.setText(“”);

catch(HeadlessException | SQLException ex2)


{

PAGE \* MERGEFORMAT 4
}

private void clsMouseClicked(java.awt.event.MouseEvent evt)


{
// title Bar close button

System.exit(0);
}

private void miniMouseClicked(java.awt.event.MouseEvent evt)


{
// title bar minimize button

this.setState(Login.ICONIFIED);
}

public static void main(String args[])


{
/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (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 (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

PAGE \* MERGEFORMAT 4
java.util.logging.Logger.getLogger(Login.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() {
new Login().setVisible(true);
}
});
}

6.3.2 – Signup Form

PAGE \* MERGEFORMAT 4
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JoptionPane;

public class signup extends javax.swing.Jframe {

Connection con;
Statement st;

public signup()
{
initComponents();
this.setLocationRelativeTo(null);

Date d2 = new Date();


PAGE \* MERGEFORMAT 4
d1.setText(“Today :” + d2);

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
}

catch(ClassNotFoundException | SQLException ex1)


{
}

@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jPanel1 = new javax.swing.Jpanel();


jLabel1 = new javax.swing.Jlabel();
cls = new javax.swing.Jlabel();
mini = new javax.swing.Jlabel();
jPanel2 = new javax.swing.Jpanel();
jLabel2 = new javax.swing.Jlabel();
username1 = new javax.swing.JtextField();
jLabel3 = new javax.swing.Jlabel();
password1 = new javax.swing.JpasswordField();
jButton1 = new javax.swing.Jbutton();
jButton2 = new javax.swing.Jbutton();
jLabel4 = new javax.swing.Jlabel();
jLabel5 = new javax.swing.Jlabel();
password2 = new javax.swing.JpasswordField();
jLabel6 = new javax.swing.Jlabel();
lname1 = new javax.swing.JtextField();
fname1 = new javax.swing.JtextField();
jLabel7 = new javax.swing.Jlabel();
jLabel8 = new javax.swing.Jlabel();
dob1 = new javax.swing.JtextField();
jLabel10 = new javax.swing.Jlabel();
jScrollPane1 = new javax.swing.JscrollPane();
address1 = new javax.swing.JtextArea();
d1 = new javax.swing.Jlabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);

jPanel1.setBackground(new java.awt.Color(255, 153, 0));

jLabel1.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


PAGE \* MERGEFORMAT 4
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText(“Registration”);

cls.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


cls.setForeground(new java.awt.Color(255, 255, 255));
cls.setText(“x”);
cls.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
cls.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
clsMouseClicked(evt);
}
});

mini.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


mini.setForeground(new java.awt.Color(255, 255, 255));
mini.setText(“-“);
mini.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
mini.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
miniMouseClicked(evt);
}
});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(mini)
.addGap(18, 18, 18)
.addComponent(cls)
.addGap(18, 18, 18))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(5, 5, 5)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(cls, javax.swing.GroupLayout.DEFAULT_SIZE, 49,
Short.MAX_VALUE)

PAGE \* MERGEFORMAT 4
.addComponent(mini, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);

jPanel2.setBackground(new java.awt.Color(0, 51, 102));

jLabel2.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“User Name :”);

username1.setBackground(new java.awt.Color(204, 204, 204));


username1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
username1.setForeground(new java.awt.Color(51, 51, 51));

jLabel3.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText(“Password :”);

password1.setBackground(new java.awt.Color(204, 204, 204));


password1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
password1.setForeground(new java.awt.Color(51, 51, 51));

jButton1.setBackground(new java.awt.Color(0, 153, 255));


jButton1.setFont(new java.awt.Font(“Calibri”, 1, 14)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText(“Registration”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton2.setBackground(new java.awt.Color(255, 102, 51));


jButton2.setFont(new java.awt.Font(“Calibri”, 1, 14)); // NOI18N
jButton2.setForeground(new java.awt.Color(255, 255, 255));
jButton2.setText(“Cancel”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jLabel4.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText(“Click to Login”);
jLabel4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel4.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel4MouseClicked(evt);
PAGE \* MERGEFORMAT 4
}
});

jLabel5.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel5.setForeground(new java.awt.Color(255, 255, 255));
jLabel5.setText(“Re-Enter Password :”);

password2.setBackground(new java.awt.Color(204, 204, 204));


password2.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
password2.setForeground(new java.awt.Color(51, 51, 51));

jLabel6.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText(“Last Name :”);

lname1.setBackground(new java.awt.Color(204, 204, 204));


lname1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
lname1.setForeground(new java.awt.Color(51, 51, 51));

fname1.setBackground(new java.awt.Color(204, 204, 204));


fname1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
fname1.setForeground(new java.awt.Color(51, 51, 51));

jLabel7.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText(“First Name :”);

jLabel8.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel8.setForeground(new java.awt.Color(255, 255, 255));
jLabel8.setText(“Date of Birth :”);

dob1.setBackground(new java.awt.Color(204, 204, 204));


dob1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
dob1.setForeground(new java.awt.Color(51, 51, 51));

jLabel10.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel10.setForeground(new java.awt.Color(255, 255, 255));
jLabel10.setText(“Address :”);

address1.setBackground(new java.awt.Color(204, 204, 204));


address1.setColumns(20);
address1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
address1.setRows(5);
jScrollPane1.setViewportView(address1);

d1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


d1.setForeground(new java.awt.Color(153, 153, 153));
d1.setText(“…”);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


PAGE \* MERGEFORMAT 4
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.TRAILING)
.addComponent(jLabel2)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 150,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 81,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(d1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(40, 40, 40)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 104,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.TRAILING, false)
.addComponent(fname1)
.addComponent(lname1)
.addComponent(username1)
.addComponent(password1)
.addComponent(password2)
.addComponent(dob1, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.PREFERRED_SIZE, 268,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 69,
javax.swing.GroupLayout.PREFERRED_SIZE)
PAGE \* MERGEFORMAT 4
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING, false)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 268,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE,
129, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
.addGap(35, 35, 35))))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(38, 38, 38)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(fname1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(lname1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(username1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel3)
.addComponent(password1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel5)
.addComponent(password2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 19,
Short.MAX_VALUE)

PAGE \* MERGEFORMAT 4
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(dob1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.BASELINE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 39,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 39,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jLabel10))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel4)
.addComponent(d1))
.addGap(12, 12, 12))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

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

private void clsMouseClicked(java.awt.event.MouseEvent evt)


PAGE \* MERGEFORMAT 4
{
// title bar close button
System.exit(0);
}

private void miniMouseClicked(java.awt.event.MouseEvent evt)


{
// title bar minimize button
this.setState(Login.ICONIFIED);
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Cancel Button Code

fname1.setText(“”);
lname1.setText(“”);
username1.setText(“”);
password1.setText(“”);
password2.setText(“”);
dob1.setText(“”);
address1.setText(“”);

private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) {

// Click to Login Code

Login l1 = new Login();


l1.setVisible(true);
l1.pack();
l1.setLocationRelativeTo(null);
l1.setDefaultCloseOperation(signup.EXIT_ON_CLOSE);
this.dispose();

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Registration Button Code

String n1, n2, u1, p1, p2, dob, add1;

n1 = fname1.getText();
n2 = lname1.getText();
u1 = username1.getText();
PAGE \* MERGEFORMAT 4
p1 = password1.getText();
p2 = password2.getText();
dob = dob1.getText();
add1 = address1.getText();

if(n1.equals(“”) || n2.equals(“”) || u1.equals(“”) || dob.equals(“”) || add1.equals(“”) ||


p1.equals(“”) || p2.equals(“”))
{
JoptionPane.showMessageDialog(this, “Fill all the information first…”);
}

else
if(p1.equals(p2))
{
String qur = “insert into Trainsignup values (‘”+n1+”’ , ‘”+n2+”’ , ‘”+u1+”’ , ‘”+p1+”’ ,
‘”+p2+”’ , ‘”+dob+”’ , ‘”+add1+”’) “ ;
try
{
st = con.createStatement();
st.execute(qur);
JoptionPane.showMessageDialog(this, “Registration Successfully Done … “);
}
catch(HeadlessException | SQLException ex2)
{
}
fname1.setText(“”);
lname1.setText(“”);
username1.setText(“”);
password1.setText(“”);
password2.setText(“”);
dob1.setText(“”);
address1.setText(“”);
}
else
{
JoptionPane.showMessageDialog(this, “Missmatch Password…”);
password1.setText(“”);
password2.setText(“”);

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (introduced in Java SE 6) is not available, stay with the default look and feel.
PAGE \* MERGEFORMAT 4
* 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 (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(signup.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(signup.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(signup.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(signup.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 signup().setVisible(true);
}
catch(Exception e1)
{
}

}
});
}

// Variables declaration – do not modify


private javax.swing.JtextArea address1;
private javax.swing.Jlabel cls;
private javax.swing.Jlabel d1;
private javax.swing.JtextField dob1;
PAGE \* MERGEFORMAT 4
private javax.swing.JtextField fname1;
private javax.swing.Jbutton jButton1;
private javax.swing.Jbutton jButton2;
private javax.swing.Jlabel jLabel1;
private javax.swing.Jlabel jLabel10;
private javax.swing.Jlabel jLabel2;
private javax.swing.Jlabel jLabel3;
private javax.swing.Jlabel jLabel4;
private javax.swing.Jlabel jLabel5;
private javax.swing.Jlabel jLabel6;
private javax.swing.Jlabel jLabel7;
private javax.swing.Jlabel jLabel8;
private javax.swing.Jpanel jPanel1;
private javax.swing.Jpanel jPanel2;
private javax.swing.JscrollPane jScrollPane1;
private javax.swing.JtextField lname1;
private javax.swing.Jlabel mini;
private javax.swing.JpasswordField password1;
private javax.swing.JpasswordField password2;
private javax.swing.JtextField username1;
// End of variables declaration
}

New Registration DataEntry

PAGE \* MERGEFORMAT 4
PAGE \* MERGEFORMAT 4
6.3.3 – Home Panel

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JoptionPane;

public class Home extends javax.swing.Jframe {

/**
* Creates new form Home
*/
public Home() {
initComponents();
this.setLocationRelativeTo(null);

Date d2 = new Date();


d1.setText(“Today : “ + d2);

one.setSelected(true);
return1.setEnabled(false);
from2.setEnabled(false);
to2.setEnabled(false);

from1.removeAllItems();
from1.addItem(“KOTA”);
from1.addItem(“HANUMANGARH”);
from1.addItem(“JAIPUR”);

PAGE \* MERGEFORMAT 4
from1.addItem(“AJMER”);
from1.addItem(“ALWAR”);

to1.removeAllItems();
to1.addItem(“KOTA”);
to1.addItem(“HANUMANGARH”);
to1.addItem(“JAIPUR”);
to1.addItem(“AJMER”);
to1.addItem(“ALWAR”);

travel1.removeAllItems();
travel1.addItem(“AC CLASS”);
travel1.addItem(“NON-AC CLASS”);
travel1.addItem(“AC-SLEEPER CLASS”);
travel1.addItem(“NON-AC SLEEPER CLASS”);
}

@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jMenu1 = new javax.swing.Jmenu();


buttonGroup1 = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.Jpanel();
jLabel4 = new javax.swing.Jlabel();
jPanel2 = new javax.swing.Jpanel();
multi = new javax.swing.JradioButton();
one = new javax.swing.JradioButton();
round = new javax.swing.JradioButton();
jLabel8 = new javax.swing.Jlabel();
paneone = new javax.swing.Jpanel();
jLabel2 = new javax.swing.Jlabel();
jButton1 = new javax.swing.Jbutton();
jLabel6 = new javax.swing.Jlabel();
dep1 = new org.jdesktop.swingx.JXDatePicker();
to1 = new javax.swing.JcomboBox();
from1 = new javax.swing.JcomboBox();
jLabel5 = new javax.swing.Jlabel();
return1 = new org.jdesktop.swingx.JXDatePicker();
jLabel3 = new javax.swing.Jlabel();
jLabel7 = new javax.swing.Jlabel();
travel1 = new javax.swing.JcomboBox();
from2 = new javax.swing.JcomboBox();
to2 = new javax.swing.JcomboBox();
jLabel9 = new javax.swing.Jlabel();
jLabel10 = new javax.swing.Jlabel();
logout = new javax.swing.Jbutton();
jButton4 = new javax.swing.Jbutton();
jButton2 = new javax.swing.Jbutton();
PAGE \* MERGEFORMAT 4
d1 = new javax.swing.Jlabel();
jPanel3 = new javax.swing.Jpanel();
jPanel4 = new javax.swing.Jpanel();
jLabel11 = new javax.swing.Jlabel();
jLabel12 = new javax.swing.Jlabel();
jLabel14 = new javax.swing.Jlabel();

jMenu1.setText(“jMenu1”);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);

jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Train2.jpg”))); //
NOI18N

jPanel2.setBackground(new java.awt.Color(255, 153, 0));

buttonGroup1.add(multi);
multi.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
multi.setText(“MULTI CITY”);
multi.setOpaque(false);
multi.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
multiMouseClicked(evt);
}
});
multi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
multiActionPerformed(evt);
}
});

buttonGroup1.add(one);
one.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
one.setText(“ONEWAY”);
one.setOpaque(false);
one.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
oneActionPerformed(evt);
}
});

buttonGroup1.add(round);
round.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
round.setText(“ROUND TRIP”);
round.setOpaque(false);
round.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
roundActionPerformed(evt);
PAGE \* MERGEFORMAT 4
}
});

jLabel8.setFont(new java.awt.Font(“Cambria”, 0, 18)); // NOI18N


jLabel8.setText(“24 x 7 Service | Govt. of India “);

jLabel2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel2.setText(“FROM”);

jButton1.setBackground(new java.awt.Color(255, 153, 0));


jButton1.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText(“Check Train”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jLabel6.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel6.setText(“RETURN”);

dep1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


dep1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
dep1ActionPerformed(evt);
}
});

to1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


to1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));

from1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


from1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));

jLabel5.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel5.setText(“DEPARTURE”);

return1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

jLabel3.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel3.setText(“TO”);

jLabel7.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel7.setText(“TRAVELLERS & CLASS”);

travel1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

PAGE \* MERGEFORMAT 4
travel1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item
2”, “Item 3”, “Item 4” }));

from2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


from2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));

to2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


to2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));

jLabel9.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel9.setText(“TO”);

jLabel10.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel10.setText(“FROM”);

javax.swing.GroupLayout paneoneLayout = new javax.swing.GroupLayout(paneone);


paneone.setLayout(paneoneLayout);
paneoneLayout.setHorizontalGroup(
paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(paneoneLayout.createSequentialGroup()
.addGap(19, 19, 19)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(travel1, javax.swing.GroupLayout.PREFERRED_SIZE, 378,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10)
.addGroup(paneoneLayout.createSequentialGroup()
.addComponent(from2, javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(to2, javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel7)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.
TRAILING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 378,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(paneoneLayout.createSequentialGroup()
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addComponent(jLabel5)
.addComponent(from1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel2)

PAGE \* MERGEFORMAT 4
.addComponent(dep1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(paneoneLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE
D)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addComponent(return1, javax.swing.GroupLayout.PREFERRED_SIZE,
182, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(to1, javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(jLabel9)))
.addGroup(paneoneLayout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jLabel6))))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
paneoneLayout.setVerticalGroup(
paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(paneoneLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel3)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(from1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(to1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel9)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(from2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(to2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)

PAGE \* MERGEFORMAT 4
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel6)
.addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(dep1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(return1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(travel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 61,
Short.MAX_VALUE)
.addComponent(jButton1))
);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(paneone, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(33, 33, 33)
.addComponent(one)
.addGap(33, 33, 33)
.addComponent(round)
.addGap(18, 18, 18)
.addComponent(multi)
.addContainerGap(10, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 249,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(72, 72, 72))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
PAGE \* MERGEFORMAT 4
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(one)
.addComponent(round)
.addComponent(multi))
.addGap(18, 18, 18)
.addComponent(paneone, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

logout.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


logout.setText(“Log-Out”);
logout.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
logoutActionPerformed(evt);
}
});

jButton4.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jButton4.setText(“Add Train”);
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});

jButton2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jButton2.setText(“Display Passenger Information”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

d1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


d1.setText(“…”);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(d1)
.addGap(0, 0, Short.MAX_VALUE)))
PAGE \* MERGEFORMAT 4
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 775,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 142,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(logout, javax.swing.GroupLayout.PREFERRED_SIZE, 142,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jButton4)
.addComponent(logout)
.addComponent(jButton2)
.addComponent(d1, javax.swing.GroupLayout.PREFERRED_SIZE, 34,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE))
.addContainerGap())
);

jPanel3.setForeground(new java.awt.Color(0, 0, 204));


jPanel3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel11.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setText(“X”);
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
PAGE \* MERGEFORMAT 4
jLabel11MouseClicked(evt);
}
});

jLabel12.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText(“-“);
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

jLabel14.setBackground(new java.awt.Color(0, 51, 153));


jLabel14.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Trainicon.png”))); //
NOI18N
jLabel14.setText(“Train Booking System”);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 975,
Short.MAX_VALUE)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel14)
.addComponent(jLabel12)
.addComponent(jLabel11))
.addGap(0, 0, Short.MAX_VALUE))
);

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);


jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
PAGE \* MERGEFORMAT 4
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(1, 1, 1))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(31, 31, 31))
);

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

private void roundActionPerformed(java.awt.event.ActionEvent evt) {


return1.setEnabled(true);
from2.setEnabled(false);
to2.setEnabled(false);
}

private void oneActionPerformed(java.awt.event.ActionEvent evt) {


return1.setEnabled(false);
from2.setEnabled(false);
to2.setEnabled(false);
}

private void multiActionPerformed(java.awt.event.ActionEvent evt) {


return1.setEnabled(true);
PAGE \* MERGEFORMAT 4
from2.setEnabled(true);
to2.setEnabled(true);
}

private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {

// title bar close code


System.exit(0);
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {


// title bar minimize code
this.setState(Home.ICONIFIED);

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Check Train Code

if(from1.getSelectedItem().equals(to1.getSelectedItem()))
{
JoptionPane.showMessageDialog(this, “Same City ! Plese Select Right Cities “);
}
else
{
String f1, t1, f2=””, t2=””, ddate, rdate=””, tclass;
int opt = 0;

Date date1 = new Date();


if(dep1.getEditor().getText().equals(“”) || dep1.getDate().before(date1))
{
JoptionPane.showMessageDialog(this, “Please Select Departure Date”);
}
else

if(one.isSelected())
{
opt = 1;
f1 = (String) from1.getSelectedItem();
t1 = (String) to1.getSelectedItem();
Date dvalue = dep1.getDate();
tclass =(String) travel1.getSelectedItem();

new TrainDisplay(opt, f1, t1, f2, t2, dvalue, rdate, tclass).setVisible(true);


this.setVisible(false);
}

else
PAGE \* MERGEFORMAT 4
if(round.isSelected())
{
if(return1.getEditor().getText().equals(“”) || return1.getDate().before(date1))
JoptionPane.showMessageDialog(this, “Please Select Return Date”);
else
JoptionPane.showMessageDialog(this, “Sorry ! Round Trip is not available”);
}

else
if(multi.isSelected())
{
if(from2.getSelectedItem().equals(to2.getSelectedItem()))
JoptionPane.showMessageDialog(this, “Same City ! Please select Right Cities “);
else
if(return1.getEditor().getText().equals(“”) || return1.getDate().before(date1))
JoptionPane.showMessageDialog(this, “Please Select Return Date”);
else
JoptionPane.showMessageDialog(this, “Sorry ! Multicity is not available”);
}
}

private void logoutActionPerformed(java.awt.event.ActionEvent evt) {


// Logout Button Code

logout.setEnabled(false);
JoptionPane.showMessageDialog(this, “Thanks to visit…”);

Login l1 = new Login();


l1.setVisible(true);
l1.pack();
l1.setLocationRelativeTo(null);
l1.setDefaultCloseOperation(Home.EXIT_ON_CLOSE);
this.dispose();
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {


// Add Train Code

Train f1 = new Train();


f1.setVisible(true);
f1.pack();
f1.setLocationRelativeTo(null);
f1.setDefaultCloseOperation(Home.EXIT_ON_CLOSE);
this.dispose();

PAGE \* MERGEFORMAT 4
private void multiMouseClicked(java.awt.event.MouseEvent evt)
{

// Multicity radio option code

from2.removeAllItems();
from2.addItem(“KOTA”);
from2.addItem(“HANUMANGARH”);
from2.addItem(“JAIPUR”);
from2.addItem(“AJMER”);
from2.addItem(“ALWAR”);

to2.removeAllItems();
to2.addItem(“KOTA”);
to2.addItem(“HANUMANGARH”);
to2.addItem(“JAIPUR”);
to2.addItem(“AJMER”);
to2.addItem(“ALWAR”);

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Display Passenger Information Button Code

Passenger p1 = new Passenger();


p1.setVisible(true);
p1.pack();
p1.setLocationRelativeTo(null);
p1.setDefaultCloseOperation(Home.EXIT_ON_CLOSE);
this.dispose();

// TODO add your handling code here:


}

public static void main(String args[]) {


/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (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 {
PAGE \* MERGEFORMAT 4
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Home.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() {
new Home().setVisible(true);
}
});
}

// Variables declaration – do not modify


private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.Jlabel d1;
private org.jdesktop.swingx.JXDatePicker dep1;
private javax.swing.JcomboBox from1;
private javax.swing.JcomboBox from2;
private javax.swing.Jbutton jButton1;
private javax.swing.Jbutton jButton2;
private javax.swing.Jbutton jButton4;
private javax.swing.Jlabel jLabel10;
private javax.swing.Jlabel jLabel11;
private javax.swing.Jlabel jLabel12;
private javax.swing.Jlabel jLabel14;
private javax.swing.Jlabel jLabel2;
private javax.swing.Jlabel jLabel3;
private javax.swing.Jlabel jLabel4;
PAGE \* MERGEFORMAT 4
private javax.swing.Jlabel jLabel5;
private javax.swing.Jlabel jLabel6;
private javax.swing.Jlabel jLabel7;
private javax.swing.Jlabel jLabel8;
private javax.swing.Jlabel jLabel9;
private javax.swing.Jmenu jMenu1;
private javax.swing.Jpanel jPanel1;
private javax.swing.Jpanel jPanel2;
private javax.swing.Jpanel jPanel3;
private javax.swing.Jpanel jPanel4;
private javax.swing.Jbutton logout;
private javax.swing.JradioButton multi;
private javax.swing.JradioButton one;
private javax.swing.Jpanel paneone;
private org.jdesktop.swingx.JXDatePicker return1;
private javax.swing.JradioButton round;
private javax.swing.JcomboBox to1;
private javax.swing.JcomboBox to2;
private javax.swing.JcomboBox travel1;
// End of variables declaration

private DateFormat SimpleDateFormat() {


throw new UnsupportedOperationException(“Not supported yet.”); //To change body of
generated methods, choose Tools | Templates.
}
}

6.3.4 – Traindisplay Form

PAGE \* MERGEFORMAT 4
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JoptionPane;
import javax.swing.table.DefaultTableModel;

public class TrainDisplay extends javax.swing.Jframe {

Connection con;
Statement st;

public TrainDisplay() {
initComponents();
this.setLocationRelativeTo(null);

ticket.setEnabled(false);

Date d2 = new Date();

PAGE \* MERGEFORMAT 4
d1.setText(“Today :” + d2);

one.setSelected(true);
return1.setEnabled(false);
from2.setEnabled(false);
to2.setEnabled(false);

from1.removeAllItems();
from1.addItem(“KOTA”);
from1.addItem(“HANUMANGARH”);
from1.addItem(“JAIPUR”);
from1.addItem(“AJMER”);
from1.addItem(“ALWAR”);

to1.removeAllItems();
to1.addItem(“KOTA”);
to1.addItem(“HANUMANGARH”);
to1.addItem(“JAIPUR”);
to1.addItem(“AJMER”);
to1.addItem(“ALWAR”);

travel1.removeAllItems();
travel1.addItem(“AC CLASS”);
travel1.addItem(“NON-AC CLASS”);
travel1.addItem(“AC-SLEEPER CLASS”);
travel1.addItem(“NON-AC SLEEPER CLASS”);

public TrainDisplay(int opt, String f1, String t1, String f2, String t2, Date ddate, String rdate,
String tclass)
{
initComponents();
this.setLocationRelativeTo(null);
ticket.setEnabled(false);

Date d2 = new Date();


d1.setText(“Today : “ + d2);

from1.removeAllItems();
from1.addItem(“KOTA”);
from1.addItem(“HANUMANGARH”);
from1.addItem(“JAIPUR”);
from1.addItem(“AJMER”);
from1.addItem(“ALWAR”);
from1.setSelectedItem(f1);
PAGE \* MERGEFORMAT 4
to1.removeAllItems();
to1.addItem(“KOTA”);
to1.addItem(“HANUMANGARH”);
to1.addItem(“JAIPUR”);
to1.addItem(“AJMER”);
to1.addItem(“ALWAR”);
to1.setSelectedItem(t1);

travel1.removeAllItems();
travel1.addItem(“AC CLASS”);
travel1.addItem(“NON-AC CLASS”);
travel1.addItem(“AC-SLEEPER CLASS”);
travel1.addItem(“NON-AC SLEEPER CLASS”);

travel1.setSelectedItem(tclass);

dep1.setDate(ddate);

if(opt == 1)
{
one.setSelected(true);
return1.setEnabled(false);
from2.setEnabled(false);
to2.setEnabled(false);

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
st = con.createStatement();

String qur = “select * from Train”;


ResultSet rs = st.executeQuery(qur);

while(rs.next())
{
String fno = rs.getString(“Train”);
String dep = rs.getString(“departure”);
String arv = rs.getString(“arrival”);
String dtime = rs.getString(“deptime”);
String atime = rs.getString(“artime”);
String p = rs.getString(“price”);

int price = 0;
price = Integer.parseInt(p);

if(tclass.equals(“AC CLASS”))
{
PAGE \* MERGEFORMAT 4
price = price + 75;
}
else
if(tclass.equals(“AC-SLEEPER CLASS”))
{
price = price + 150;
}
else
if(tclass.equals(“NON-AC SLEEPER CLASS”))
{
price = price + 75;
}
else
{
price = Integer.parseInt(p);
}

p = “” + price;

String row1[] = {fno, dep, arv, dtime, atime, p};


DefaultTableModel model = (DefaultTableModel) tb1.getModel();

if(dep.equals(f1) && arv.equals(t1))


{
model.addRow(row1);
}

catch(ClassNotFoundException | SQLException ex1)


{
}
}

}
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jMenu1 = new javax.swing.Jmenu();


buttonGroup1 = new javax.swing.ButtonGroup();
jScrollPane2 = new javax.swing.JscrollPane();
jTable2 = new javax.swing.Jtable();
buttonGroup2 = new javax.swing.ButtonGroup();
jPanel4 = new javax.swing.Jpanel();
jLabel11 = new javax.swing.Jlabel();
jLabel12 = new javax.swing.Jlabel();
PAGE \* MERGEFORMAT 4
jLabel14 = new javax.swing.Jlabel();
jPanel2 = new javax.swing.Jpanel();
multi = new javax.swing.JradioButton();
one = new javax.swing.JradioButton();
round = new javax.swing.JradioButton();
jLabel8 = new javax.swing.Jlabel();
paneone = new javax.swing.Jpanel();
jLabel2 = new javax.swing.Jlabel();
jLabel6 = new javax.swing.Jlabel();
dep1 = new org.jdesktop.swingx.JXDatePicker();
to1 = new javax.swing.JcomboBox();
from1 = new javax.swing.JcomboBox();
jLabel5 = new javax.swing.Jlabel();
return1 = new org.jdesktop.swingx.JXDatePicker();
jLabel3 = new javax.swing.Jlabel();
jLabel7 = new javax.swing.Jlabel();
travel1 = new javax.swing.JcomboBox();
from2 = new javax.swing.JcomboBox();
to2 = new javax.swing.JcomboBox();
jLabel9 = new javax.swing.Jlabel();
jLabel10 = new javax.swing.Jlabel();
d1 = new javax.swing.Jlabel();
jScrollPane3 = new javax.swing.JscrollPane();
tb1 = new javax.swing.Jtable();
logout = new javax.swing.Jbutton();
ticket = new javax.swing.Jbutton();
jButton1 = new javax.swing.Jbutton();
logout1 = new javax.swing.Jbutton();

jMenu1.setText(“jMenu1”);

jTable2.setBackground(new java.awt.Color(204, 204, 204));


jTable2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
jTable2.setForeground(new java.awt.Color(0, 0, 102));
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
“FLIGHT NUMBER”, “DEPARTURE”, “ARRIVAL”, “DEPARTURE TIME”,
“ARRIVAL TIME”, “PRICE”
}
){
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class,
java.lang.String.class, java.lang.String.class
};
PAGE \* MERGEFORMAT 4
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jScrollPane2.setViewportView(jTable2);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel11.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setText(“X”);
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});

jLabel12.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText(“-“);
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

jLabel14.setBackground(new java.awt.Color(0, 51, 153));


jLabel14.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Trainicon.png”))); //
NOI18N
jLabel14.setText(“Train Booking System”);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

PAGE \* MERGEFORMAT 4
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel14)
.addComponent(jLabel12)
.addComponent(jLabel11))
.addGap(0, 0, Short.MAX_VALUE))
);

jPanel2.setBackground(new java.awt.Color(255, 153, 0));

buttonGroup1.add(multi);
multi.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
multi.setText(“MULTI CITY”);
multi.setOpaque(false);
multi.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
multiMouseClicked(evt);
}
});
multi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
multiActionPerformed(evt);
}
});

buttonGroup1.add(one);
one.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
one.setText(“ONEWAY”);
one.setOpaque(false);
one.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
oneActionPerformed(evt);
}
});

buttonGroup1.add(round);
round.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
round.setText(“ROUND TRIP”);
round.setOpaque(false);
round.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
PAGE \* MERGEFORMAT 4
roundActionPerformed(evt);
}
});

jLabel8.setFont(new java.awt.Font(“Cambria”, 0, 18)); // NOI18N


jLabel8.setText(“National Train only”);

jLabel2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel2.setText(“FROM”);

jLabel6.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel6.setText(“RETURN”);

dep1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


dep1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
dep1ActionPerformed(evt);
}
});

to1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


to1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));

from1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


from1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));

jLabel5.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel5.setText(“DEPARTURE”);

return1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

jLabel3.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel3.setText(“TO”);

jLabel7.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel7.setText(“TRAVELLERS & CLASS”);

travel1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


travel1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item
2”, “Item 3”, “Item 4” }));

from2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


from2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));

to2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


to2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));
PAGE \* MERGEFORMAT 4
jLabel9.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
jLabel9.setText(“TO”);

jLabel10.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel10.setText(“FROM”);

javax.swing.GroupLayout paneoneLayout = new javax.swing.GroupLayout(paneone);


paneone.setLayout(paneoneLayout);
paneoneLayout.setHorizontalGroup(
paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(paneoneLayout.createSequentialGroup()
.addGap(59, 59, 59)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)
.addComponent(travel1, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel10)
.addGroup(paneoneLayout.createSequentialGroup()
.addComponent(from2, javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(to2, javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel7)
.addGroup(paneoneLayout.createSequentialGroup()
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.LEADING)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addComponent(jLabel5)
.addComponent(from1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel2)
.addComponent(dep1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.LEADING)
.addGroup(paneoneLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addComponent(return1, javax.swing.GroupLayout.PREFERRED_SIZE,
182, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(to1, javax.swing.GroupLayout.PREFERRED_SIZE, 186,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(jLabel9)))
PAGE \* MERGEFORMAT 4
.addGroup(paneoneLayout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jLabel6)))))
.addContainerGap(60, Short.MAX_VALUE))
);
paneoneLayout.setVerticalGroup(
paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(paneoneLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel3)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(from1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(to1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel9)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(from2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(to2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel6)
.addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(paneoneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(dep1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(return1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(travel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
PAGE \* MERGEFORMAT 4
);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(48, 48, 48)
.addComponent(one)
.addGap(33, 33, 33)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 168,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(round)
.addGap(18, 18, 18)
.addComponent(multi)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(paneone, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(7, 7, 7)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(8, 8, 8)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(one)
.addComponent(round)
.addComponent(multi))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(paneone, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);

d1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


d1.setText(“…”);

tb1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


tb1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
PAGE \* MERGEFORMAT 4
“TRAIN NUMBER”, “DEPARTURE”, “ARRIVAL”, “DEPARTURE TIME”,
“ARRIVAL TIME”, “PRICE”
}
));
tb1.setRowHeight(70);
tb1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tb1MouseClicked(evt);
}
});
jScrollPane3.setViewportView(tb1);

logout.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


logout.setText(“Log-Out”);
logout.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
logoutActionPerformed(evt);
}
});

ticket.setBackground(new java.awt.Color(255, 204, 0));


ticket.setFont(new java.awt.Font(“Calibri”, 0, 24)); // NOI18N
ticket.setForeground(new java.awt.Color(255, 255, 255));
ticket.setText(“Book Ticket”);
ticket.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ticketActionPerformed(evt);
}
});

jButton1.setBackground(new java.awt.Color(255, 153, 0));


jButton1.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText(“Check Train”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

logout1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


logout1.setText(“Home”);
logout1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
logout1ActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
PAGE \* MERGEFORMAT 4
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(d1)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(77, 77, 77)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 378,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(ticket, javax.swing.GroupLayout.PREFERRED_SIZE, 240,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILIN
G)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 702,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(logout1, javax.swing.GroupLayout.PREFERRED_SIZE, 158,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(logout, javax.swing.GroupLayout.PREFERRED_SIZE, 158,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(19, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 9,
Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(d1, javax.swing.GroupLayout.PREFERRED_SIZE, 34,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(logout, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(logout1, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
PAGE \* MERGEFORMAT 4
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 489,
Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(ticket, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1))
.addContainerGap(24, Short.MAX_VALUE))
);

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

private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0);
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {

this.setState(Home.ICONIFIED);
}

private void multiMouseClicked(java.awt.event.MouseEvent evt) {

from2.removeAllItems();
from2.addItem(“KOTA”);
from2.addItem(“HANUMANGARH”);
from2.addItem(“JAIPUR”);
from2.addItem(“AJMER”);
from2.addItem(“ALWAR”);

to2.removeAllItems();
to2.addItem(“KOTA”);
to2.addItem(“HANUMANGARH”);
to2.addItem(“JAIPUR”);
to2.addItem(“AJMER”);
to2.addItem(“ALWAR”);

// TODO add your handling code here:


}

private void multiActionPerformed(java.awt.event.ActionEvent evt) {

PAGE \* MERGEFORMAT 4
return1.setEnabled(true);
from2.setEnabled(true);
to2.setEnabled(true);
}

private void oneActionPerformed(java.awt.event.ActionEvent evt) {

return1.setEnabled(false);
from2.setEnabled(false);
to2.setEnabled(false);

// TODO add your handling code here:


}

private void roundActionPerformed(java.awt.event.ActionEvent evt) {

return1.setEnabled(true);
from2.setEnabled(false);
to2.setEnabled(false);

// TODO add your handling code here:


}

private void dep1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

private void logoutActionPerformed(java.awt.event.ActionEvent evt) {

logout.setEnabled(false);
JoptionPane.showMessageDialog(this, “Thanks to visit…”);

Login l1 = new Login();


l1.setVisible(true);
l1.pack();
l1.setLocationRelativeTo(null);
l1.setDefaultCloseOperation(Home.EXIT_ON_CLOSE);
this.dispose();

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

if(from1.getSelectedItem().equals(to1.getSelectedItem()))
{
JoptionPane.showMessageDialog(this, “Same City ! Plese Select Right Cities “);
}
else
{
Date date1 = new Date();
PAGE \* MERGEFORMAT 4
if(dep1.getDate().before(date1))
{
JoptionPane.showMessageDialog(this, “Please Select Departure Date”);
}
else
if(one.isSelected())
{

return1.setEnabled(false);
from2.setEnabled(false);
to2.setEnabled(false);

String fromvalue = (String) from1.getSelectedItem();


String tovalue = (String) to1.getSelectedItem();

try
{
String tclass = travel1.getSelectedItem().toString();

Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” ,
“root”);
st = con.createStatement();

String qur = “select * from Train”;


ResultSet rs = st.executeQuery(qur);

DefaultTableModel model = (DefaultTableModel) tb1.getModel();


model.setNumRows(0);

while(rs.next())
{
String fno = rs.getString(“Train”);
String dep = rs.getString(“departure”);
String arv = rs.getString(“arrival”);
String dtime = rs.getString(“deptime”);
String atime = rs.getString(“artime”);
String p = rs.getString(“price”);

int price = 0;
price = Integer.parseInt(p);

if(tclass.equals(“AC CLASS”))
{
price = price + 75;
}
else
if(tclass.equals(“AC-SLEEPER CLASS”))
{
price = price + 150;
PAGE \* MERGEFORMAT 4
}
else
if(tclass.equals(“NON-AC SLEEPER CLASS”))
{
price = price + 75;
}
else
{
price = Integer.parseInt(p);
}

p = “” + price;

String row1[] = {fno, dep, arv, dtime, atime, p};

if(dep.equals(fromvalue) && arv.equals(tovalue))


{
model.addRow(row1);
}

}
catch(ClassNotFoundException | SQLException ex1)
{
}
}

else
if(round.isSelected())
{
if(return1.getEditor().getText().equals(“”))
JoptionPane.showMessageDialog(this, “Please Select Return Date…”);
else
JoptionPane.showMessageDialog(this, “Sorry ! Round Trip is not available”);
}
else
if(multi.isSelected())
{
JoptionPane.showMessageDialog(this, “Sorry ! Multicity is not available”);
}
}
}

private void ticketActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel model = (DefaultTableModel) tb1.getModel();

int row = tb1.getSelectedRow();


PAGE \* MERGEFORMAT 4
String Trainname = model.getValueAt(row, 0).toString();
String departure = model.getValueAt(row, 1).toString();
String arrival = model.getValueAt(row, 2).toString();
String departuretime = model.getValueAt(row, 3).toString();
String arrivaltime = model.getValueAt(row, 4).toString();
String price = model.getValueAt(row, 5).toString();

Date depdate = dep1.getDate();

String tclass =(String) travel1.getSelectedItem();

new BookTicket(Trainname, departure, arrival, departuretime, arrivaltime, price, depdate,


tclass).setVisible(true);
this.dispose();

// TODO add your handling code here:


}

private void tb1MouseClicked(java.awt.event.MouseEvent evt) {

ticket.setEnabled(true);
// TODO add your handling code here:
}

private void logout1ActionPerformed(java.awt.event.ActionEvent evt) {


Home h1 = new Home();
h1.setVisible(true);
h1.pack();
h1.setLocationRelativeTo(null);
h1.setDefaultCloseOperation(LastForm.EXIT_ON_CLOSE);
this.dispose();
// TODO add your handling code here:
}

public static void main(String args[]) {


/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (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 (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
PAGE \* MERGEFORMAT 4
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Home.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() {
new TrainDisplay().setVisible(true);
}
});
}

// Variables declaration – do not modify


private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.Jlabel d1;
private org.jdesktop.swingx.JXDatePicker dep1;
private javax.swing.JcomboBox from1;
private javax.swing.JcomboBox from2;
private javax.swing.Jbutton jButton1;
private javax.swing.Jlabel jLabel10;
private javax.swing.Jlabel jLabel11;
private javax.swing.Jlabel jLabel12;
private javax.swing.Jlabel jLabel14;
private javax.swing.Jlabel jLabel2;
private javax.swing.Jlabel jLabel3;
private javax.swing.Jlabel jLabel5;
private javax.swing.Jlabel jLabel6;
private javax.swing.Jlabel jLabel7;
private javax.swing.Jlabel jLabel8;
private javax.swing.Jlabel jLabel9;
private javax.swing.Jmenu jMenu1;
private javax.swing.Jpanel jPanel2;
private javax.swing.Jpanel jPanel4;
private javax.swing.JscrollPane jScrollPane2;
PAGE \* MERGEFORMAT 4
private javax.swing.JscrollPane jScrollPane3;
private javax.swing.Jtable jTable2;
private javax.swing.Jbutton logout;
private javax.swing.Jbutton logout1;
private javax.swing.JradioButton multi;
private javax.swing.JradioButton one;
private javax.swing.Jpanel paneone;
private org.jdesktop.swingx.JXDatePicker return1;
private javax.swing.JradioButton round;
private javax.swing.Jtable tb1;
private javax.swing.Jbutton ticket;
private javax.swing.JcomboBox to1;
private javax.swing.JcomboBox to2;
private javax.swing.JcomboBox travel1;
// End of variables declaration
}

6.3.5 – Train Ticket Infromation

PAGE \* MERGEFORMAT 4
import java.util.Date;

public class BookTicket extends javax.swing.Jframe {

String Trainname1;
String departure1;
String arrival1;
String departuretime1;
String arrivaltime1;
String price1;
Date depdate1;
String tclass1;

public BookTicket() {
initComponents();
this.setLocationRelativeTo(null);

public BookTicket(String Trainname, String departure, String arrival, String departuretime,


String arrivaltime, String price, Date depdate, String tclass)
{
initComponents();
this.setLocationRelativeTo(null);

Trainname1 = Trainname;
departure1 = departure;
arrival1 = arrival;

PAGE \* MERGEFORMAT 4
departuretime1 = departuretime;
arrivaltime1 = arrivaltime;
price1 = price;

depdate1 = depdate;
tclass1 = tclass;

ddate2.setText(“”+depdate);
from.setText(departure);
to.setText(arrival);
trclass.setText(tclass);

fname.setText(“Train Number : “ + Trainname);

dtime.setText(“Departure : “ + departuretime);
ddate.setText(“Departure Date : “ + depdate);
dcity.setText(“Departure City : “ + departure);
dairport.setText(“”);

atime.setText(“Arrival : “ + arrivaltime);
adate.setText(“Arrival Date : “ + depdate);
acity.setText(“Arrival City : “ + arrival);
aairport.setText(“”);

@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jLabel1 = new javax.swing.Jlabel();


jPanel3 = new javax.swing.Jpanel();
jPanel7 = new javax.swing.Jpanel();
ddate = new javax.swing.Jlabel();
dcity = new javax.swing.Jlabel();
dairport = new javax.swing.Jlabel();
dtime = new javax.swing.Jlabel();
jPanel1 = new javax.swing.Jpanel();
trclass = new javax.swing.Jlabel();
from = new javax.swing.Jlabel();
jLabel10 = new javax.swing.Jlabel();
jLabel13 = new javax.swing.Jlabel();
jLabel5 = new javax.swing.Jlabel();
to = new javax.swing.Jlabel();
jPanel2 = new javax.swing.Jpanel();
ddate2 = new javax.swing.Jlabel();
jLabel2 = new javax.swing.Jlabel();
jPanel8 = new javax.swing.Jpanel();
acity = new javax.swing.Jlabel();
PAGE \* MERGEFORMAT 4
aairport = new javax.swing.Jlabel();
atime = new javax.swing.Jlabel();
adate = new javax.swing.Jlabel();
fname = new javax.swing.Jlabel();
continue1 = new javax.swing.Jbutton();
jLabel4 = new javax.swing.Jlabel();
jButton2 = new javax.swing.Jbutton();
jPanel4 = new javax.swing.Jpanel();
jLabel11 = new javax.swing.Jlabel();
jLabel12 = new javax.swing.Jlabel();
jLabel14 = new javax.swing.Jlabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBounds(new java.awt.Rectangle(0, 0, 0, 0));
setUndecorated(true);
setResizable(false);

jLabel1.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel1.setText(“Itinerary “);

jPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

jPanel7.setBackground(new java.awt.Color(255, 255, 255));

ddate.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


ddate.setText(“DepartureDate”);

dcity.setFont(new java.awt.Font(“Calibri”, 1, 14)); // NOI18N


dcity.setText(“City”);

dairport.setFont(new java.awt.Font(“Calibri”, 0, 12)); // NOI18N


dairport.setText(“TrainDepot”);

dtime.setFont(new java.awt.Font(“Calibri”, 1, 36)); // NOI18N


dtime.setText(“Departure Time”);

javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);


jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(ddate)
.addComponent(dairport)
.addComponent(dcity)
.addComponent(dtime))
.addContainerGap(198, Short.MAX_VALUE))
);
PAGE \* MERGEFORMAT 4
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel7Layout.createSequentialGroup()
.addGap(23, 23, 23)
.addComponent(dtime)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(ddate)
.addGap(18, 18, 18)
.addComponent(dcity)
.addGap(11, 11, 11)
.addComponent(dairport)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel1.setBackground(new java.awt.Color(255, 153, 0));

trclass.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


trclass.setText(“Class”);

from.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


from.setText(“DEPARTURE”);

jLabel10.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel10.setText(“Non-Refundable”);

jLabel13.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel13.setText(“To”);

jLabel5.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel5.setText(“Fare Rules”);

to.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


to.setText(“DEPARTURE”);

jPanel2.setBackground(new java.awt.Color(51, 51, 51));

ddate2.setFont(new java.awt.Font(“Calibri”, 1, 14)); // NOI18N


ddate2.setForeground(new java.awt.Color(255, 255, 255));
ddate2.setText(“Date”);

jLabel2.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“DEPARTURE”);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
PAGE \* MERGEFORMAT 4
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel2)
.addComponent(ddate2))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addGap(3, 3, 3)
.addComponent(ddate2)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(62, 62, 62)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(from)
.addGap(18, 18, 18)
.addComponent(jLabel13)
.addGap(18, 18, 18)
.addComponent(to))
.addComponent(trclass))
.addGap(275, 275, 275)
.addComponent(jLabel10)
.addGap(38, 38, 38)
.addComponent(jLabel5)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.BASELINE)

PAGE \* MERGEFORMAT 4
.addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(to)
.addComponent(from))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(trclass))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(12, 12, 12)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.BASELINE)
.addComponent(jLabel10)
.addComponent(jLabel5))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
);

jPanel8.setBackground(new java.awt.Color(255, 255, 255));

acity.setFont(new java.awt.Font(“Calibri”, 1, 14)); // NOI18N


acity.setText(“City”);

aairport.setFont(new java.awt.Font(“Calibri”, 0, 12)); // NOI18N


aairport.setText(“Train Depot”);

atime.setFont(new java.awt.Font(“Calibri”, 1, 36)); // NOI18N


atime.setText(“Arrival Time”);

adate.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


adate.setText(“ArrivalDate”);

javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);


jPanel8.setLayout(jPanel8Layout);
jPanel8Layout.setHorizontalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(atime)
.addComponent(acity)
.addComponent(aairport)
.addComponent(adate))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel8Layout.setVerticalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addGap(20, 20, 20)
PAGE \* MERGEFORMAT 4
.addComponent(atime)
.addGap(11, 11, 11)
.addComponent(adate)
.addGap(18, 18, 18)
.addComponent(acity)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(aairport)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

fname.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname.setText(“Train Name”);

continue1.setBackground(new java.awt.Color(255, 153, 0));


continue1.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N
continue1.setForeground(new java.awt.Color(255, 255, 255));
continue1.setText(“Continue”);
continue1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
continue1ActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);


jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(36, 36, 36)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(continue1, javax.swing.GroupLayout.PREFERRED_SIZE, 203,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING, false)
.addComponent(fname)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel8, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addContainerGap(39, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(32, 32, 32)
PAGE \* MERGEFORMAT 4
.addComponent(fname)
.addGap(18, 18, 18)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)
.addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10,
Short.MAX_VALUE)
.addComponent(continue1, javax.swing.GroupLayout.PREFERRED_SIZE, 45,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(36, 36, 36))
);

jLabel4.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


jLabel4.setText(“Train Ticket Information”);

jButton2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jButton2.setText(“Back”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel11.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setText(“X”);
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});

jLabel12.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText(“-“);
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

PAGE \* MERGEFORMAT 4
jLabel14.setBackground(new java.awt.Color(0, 51, 153));
jLabel14.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Trainicon.png”))); //
NOI18N
jLabel14.setText(“Train Booking System”);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASE
LINE)
.addComponent(jLabel14)
.addComponent(jLabel12)
.addComponent(jLabel11))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(76, 76, 76))
.addGroup(layout.createSequentialGroup()
.addGap(82, 82, 82)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()

PAGE \* MERGEFORMAT 4
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 352,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(437, 437, 437)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 176,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(110, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32,
Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addGap(10, 10, 10)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1)
.addGap(26, 26, 26))
);

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

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Back Button Code

TrainDisplay h1 = new TrainDisplay();


h1.setVisible(true);
h1.pack();
h1.setLocationRelativeTo(null);
h1.setDefaultCloseOperation(BookTicket.EXIT_ON_CLOSE);
this.dispose(); // TODO add your handling code here:
}

private void continue1ActionPerformed(java.awt.event.ActionEvent evt) {

// Continue Button Code

new TravellerDetails(Trainname1, departure1, arrival1, departuretime1, arrivaltime1, price1,


depdate1, tclass1).setVisible(true);
this.dispose();
PAGE \* MERGEFORMAT 4
// TODO add your handling code here:
}

private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0);
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {

this.setState(Home.ICONIFIED);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (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 (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(BookTicket.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(BookTicket.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(BookTicket.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(BookTicket.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
}
//</editor-fold>

PAGE \* MERGEFORMAT 4
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new BookTicket().setVisible(true);
}
});
}

// Variables declaration – do not modify


private javax.swing.Jlabel aairport;
private javax.swing.Jlabel acity;
private javax.swing.Jlabel adate;
private javax.swing.Jlabel atime;
private javax.swing.Jbutton continue1;
private javax.swing.Jlabel dairport;
private javax.swing.Jlabel dcity;
private javax.swing.Jlabel ddate;
private javax.swing.Jlabel ddate2;
private javax.swing.Jlabel dtime;
private javax.swing.Jlabel fname;
private javax.swing.Jlabel from;
private javax.swing.Jbutton jButton2;
private javax.swing.Jlabel jLabel1;
private javax.swing.Jlabel jLabel10;
private javax.swing.Jlabel jLabel11;
private javax.swing.Jlabel jLabel12;
private javax.swing.Jlabel jLabel13;
private javax.swing.Jlabel jLabel14;
private javax.swing.Jlabel jLabel2;
private javax.swing.Jlabel jLabel4;
private javax.swing.Jlabel jLabel5;
private javax.swing.Jpanel jPanel1;
private javax.swing.Jpanel jPanel2;
private javax.swing.Jpanel jPanel3;
private javax.swing.Jpanel jPanel4;
private javax.swing.Jpanel jPanel7;
private javax.swing.Jpanel jPanel8;
private javax.swing.Jlabel to;
private javax.swing.Jlabel trclass;
// End of variables declaration
}

6.3.6 – Traveller Details Panel


PAGE \* MERGEFORMAT 4
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JoptionPane;

public class TravellerDetails extends javax.swing.Jframe {

String Code1;

String Trainname1;
String departure1;
String arrival1;
String departuretime1;
String arrivaltime1;
String price1;
String depdate1;
String tclass1;

Connection con;
Statement st;

public TravellerDetails() {
PAGE \* MERGEFORMAT 4
initComponents();
setLocationRelativeTo(null);

addinfo.setEnabled(false);

cat.addItem(“ADULTS (12y +)”);


cat.addItem(“CHILDREN (2y – 12y )”);
cat.addItem(“INFANTS (below 2y)”);

for(int i=1; i<=50 ; i++)


{
s1.addItem(“”+i);
}

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
}

catch(ClassNotFoundException | SQLException ex1)


{
}

public TravellerDetails(String Trainname, String departure, String arrival, String departuretime,


String arrivaltime, String price, Date depdate, String tclass)
{
initComponents();
setLocationRelativeTo(null);

addinfo.setEnabled(false);

cat.addItem(“ADULTS (12y +)”);


cat.addItem(“CHILDREN (2y – 12y )”);
cat.addItem(“INFANTS (below 2y)”);

for(int i=1; i<=50 ; i++)


{
s1.addItem(“”+i);
}

Trainname1 = Trainname;
departure1 = departure;
arrival1 = arrival;
departuretime1 = departuretime;
PAGE \* MERGEFORMAT 4
arrivaltime1 = arrivaltime;
price1 = price;
depdate1 = “”+ depdate;
tclass1 = tclass;

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
}

catch(ClassNotFoundException | SQLException ex1)


{
}

try
{
String qur = “select * from Traintraveller”;
st = con.createStatement();
ResultSet rs = st.executeQuery(qur);

while(rs.next())
{
if(Trainname1.equals(rs.getString(“Trainname”)) &&
depdate1.equals(rs.getString(“depdate”)))
{
for(int i = 1 ; i <= 50 ; i++)
{
String sh1 = “”+i;
if(sh1.equals(rs.getString(“sheetno”) ) )
{
s1.removeItem(sh1);
}
}
}
}
}

catch(SQLException ex2)
{
}

@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {
PAGE \* MERGEFORMAT 4
buttonGroup1 = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.Jpanel();
jPanel11 = new javax.swing.Jpanel();
jLabel7 = new javax.swing.Jlabel();
check1 = new javax.swing.JcheckBox();
jPanel12 = new javax.swing.Jpanel();
fname9 = new javax.swing.Jlabel();
n1 = new javax.swing.JtextField();
fname10 = new javax.swing.Jlabel();
n2 = new javax.swing.JtextField();
male = new javax.swing.JradioButton();
female = new javax.swing.JradioButton();
jLabel8 = new javax.swing.Jlabel();
fname11 = new javax.swing.Jlabel();
cat = new javax.swing.JcomboBox();
fname12 = new javax.swing.Jlabel();
s1 = new javax.swing.JcomboBox();
jPanel10 = new javax.swing.Jpanel();
fname5 = new javax.swing.Jlabel();
m1 = new javax.swing.JtextField();
fname6 = new javax.swing.Jlabel();
e1 = new javax.swing.JtextField();
jLabel6 = new javax.swing.Jlabel();
fname7 = new javax.swing.Jlabel();
m2 = new javax.swing.JtextField();
from = new javax.swing.Jlabel();
generatecode = new javax.swing.Jbutton();
booking = new javax.swing.Jlabel();
logout = new javax.swing.Jbutton();
addinfo = new javax.swing.Jbutton();
jPanel4 = new javax.swing.Jpanel();
jLabel11 = new javax.swing.Jlabel();
jLabel12 = new javax.swing.Jlabel();
jLabel14 = new javax.swing.Jlabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);

jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

jPanel11.setBackground(new java.awt.Color(255, 153, 0));

jLabel7.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N


jLabel7.setText(“Acknowledgement”);

check1.setBackground(new java.awt.Color(255, 153, 0));


check1.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N
check1.setText(“I understand and agree with the Fare Rules , the Privacy Policy , the User
Agreement and Terms of Service”);
PAGE \* MERGEFORMAT 4
javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
jPanel11.setLayout(jPanel11Layout);
jPanel11Layout.setHorizontalGroup(
jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel11Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(check1)
.addComponent(jLabel7))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel11Layout.setVerticalGroup(
jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel11Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel7)
.addGap(18, 18, 18)
.addComponent(check1)
.addContainerGap(25, Short.MAX_VALUE))
);

jPanel12.setBackground(new java.awt.Color(255, 255, 255));

fname9.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname9.setText(“First & Middle Name”);

n1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

fname10.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname10.setText(“Last Name”);

n2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

male.setBackground(new java.awt.Color(255, 255, 255));


buttonGroup1.add(male);
male.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
male.setText(“MALE”);

female.setBackground(new java.awt.Color(255, 255, 255));


buttonGroup1.add(female);
female.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
female.setText(“FEMALE”);

jLabel8.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N


jLabel8.setText(“Traveller Details”);

fname11.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname11.setText(“Category”);
PAGE \* MERGEFORMAT 4
cat.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
cat.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
catActionPerformed(evt);
}
});

fname12.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname12.setText(“Select Sheet Number”);

s1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


s1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
s1ActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);


jPanel12.setLayout(jPanel12Layout);
jPanel12Layout.setHorizontalGroup(
jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel12Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel12Layout.createSequentialGroup()
.addComponent(jLabel8)
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel12Layout.createSequentialGroup()
.addGap(0, 15, Short.MAX_VALUE)
.addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING, false)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel12Layout.createSequentialGroup()
.addComponent(cat, javax.swing.GroupLayout.PREFERRED_SIZE, 227,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(male, javax.swing.GroupLayout.PREFERRED_SIZE, 77,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10)
.addComponent(female, javax.swing.GroupLayout.PREFERRED_SIZE, 132,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(8, 8, 8))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(fname11)
.addGroup(jPanel12Layout.createSequentialGroup()
PAGE \* MERGEFORMAT 4
.addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(fname9)
.addComponent(n1, javax.swing.GroupLayout.PREFERRED_SIZE, 227,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA
TED)
.addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(fname10)
.addComponent(n2, javax.swing.GroupLayout.PREFERRED_SIZE, 227,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(fname12)
.addComponent(s1, javax.swing.GroupLayout.PREFERRED_SIZE, 227,
javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(25, Short.MAX_VALUE))
);
jPanel12Layout.setVerticalGroup(
jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel12Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel8)
.addGap(18, 18, 18)
.addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel12Layout.createSequentialGroup()
.addComponent(fname9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(n1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel12Layout.createSequentialGroup()
.addComponent(fname10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(n2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(fname11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(cat, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(male)
.addComponent(female))
.addGap(18, 18, 18)
.addComponent(fname12)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(s1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
PAGE \* MERGEFORMAT 4
);

jPanel10.setBackground(new java.awt.Color(255, 255, 255));

fname5.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname5.setText(“Mobile Number 1”);

m1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

fname6.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname6.setText(“Email”);

e1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

jLabel6.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N


jLabel6.setText(“Contact information”);

fname7.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


fname7.setText(“Mobile Number 2”);

m2.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);


jPanel10.setLayout(jPanel10Layout);
jPanel10Layout.setHorizontalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel10Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel6)
.addGroup(jPanel10Layout.createSequentialGroup()
.addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING)
.addComponent(fname5)
.addComponent(m1, javax.swing.GroupLayout.PREFERRED_SIZE, 227,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING)
.addComponent(fname7)
.addComponent(m2, javax.swing.GroupLayout.PREFERRED_SIZE, 227,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(fname6)
.addComponent(e1, javax.swing.GroupLayout.PREFERRED_SIZE, 227,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel10Layout.setVerticalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
PAGE \* MERGEFORMAT 4
.addGroup(jPanel10Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel6)
.addGap(18, 18, 18)
.addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addGroup(jPanel10Layout.createSequentialGroup()
.addComponent(fname5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(m1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel10Layout.createSequentialGroup()
.addComponent(fname7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(m2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(fname6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(e1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(90, Short.MAX_VALUE))
);

from.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


from.setText(“IMPORTANT: Enter your name as it is mentioned on your passport or any
government approved ID.”);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(30, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(from)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING, false)
.addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(26, 26, 26))
);
PAGE \* MERGEFORMAT 4
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(14, 14, 14)
.addComponent(from)
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)
.addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(28, Short.MAX_VALUE))
);

generatecode.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


generatecode.setText(“Generate Booking Code”);
generatecode.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
generatecodeActionPerformed(evt);
}
});

booking.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N


booking.setForeground(new java.awt.Color(0, 0, 153));

logout.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


logout.setText(“Back to Home”);
logout.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
logoutActionPerformed(evt);
}
});

addinfo.setBackground(new java.awt.Color(255, 153, 0));


addinfo.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N
addinfo.setForeground(new java.awt.Color(255, 255, 255));
addinfo.setText(“Add Information”);
addinfo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
addinfoActionPerformed(evt);
}
});

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel11.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


PAGE \* MERGEFORMAT 4
jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setText(“X”);
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});

jLabel12.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText(“-“);
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

jLabel14.setBackground(new java.awt.Color(0, 51, 153));


jLabel14.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Trainicon.png”))); //
NOI18N
jLabel14.setText(“Train Booking System”);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel14)
.addComponent(jLabel12)
.addComponent(jLabel11))
.addGap(0, 1, Short.MAX_VALUE))
PAGE \* MERGEFORMAT 4
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(44, 44, 44)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addGroup(layout.createSequentialGroup()
.addComponent(generatecode)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(booking)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(logout, javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(addinfo, javax.swing.GroupLayout.PREFERRED_SIZE, 219,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(34, Short.MAX_VALUE))
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGap(14, 14, 14)
.addComponent(booking, javax.swing.GroupLayout.PREFERRED_SIZE, 45,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(logout, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(6, 6, 6))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(generatecode, javax.swing.GroupLayout.PREFERRED_SIZE, 38,
javax.swing.GroupLayout.PREFERRED_SIZE)
PAGE \* MERGEFORMAT 4
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(addinfo, javax.swing.GroupLayout.PREFERRED_SIZE, 38,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(41, Short.MAX_VALUE))
);

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

private void addinfoActionPerformed(java.awt.event.ActionEvent evt) {

// Add information button Code

String name1, name2, mobile1, mobile2, email, gender, category1, sheet1;


if(check1.isSelected())
{

name1 = n1.getText();
name2 = n2.getText();
mobile1 = m1.getText();
mobile2 = m2.getText();
email = e1.getText();
category1 = (String) cat.getSelectedItem();
sheet1 = (String) s1.getSelectedItem();

if(male.isSelected())
gender = “male”;
else
if(female.isSelected())
gender = “female”;
else
gender = “”;

if(name1.equals(“”) || name2.equals(“”) || mobile1.equals(“”) || mobile2.equals(“”) ||


email.equals(“”) || gender.equals(“”) || category1.equals(“”) || sheet1.equals(“”))
JoptionPane.showMessageDialog(this, “Please fill all the information”);

else
try
{

String qur = “insert into Traintraveller values(‘”+Trainname1+”’, ‘”+departure1+”’,


‘”+arrival1+”’, ‘”+departuretime1+”’, ‘”+arrivaltime1+”’ , ‘”+depdate1+”’ , ‘”+price1+”’ ,
‘”+tclass1+”’ , ‘”+name1+”’ , ‘”+name2+”’ , ‘”+mobile1+”’ , ‘”+mobile2+”’ , ‘”+gender+”’ ,
‘”+email+”’ , ‘”+category1+”’ , ‘”+sheet1+”’ , ‘”+Code1+”’)”;

st = con.createStatement();
PAGE \* MERGEFORMAT 4
st.execute(qur);
JoptionPane.showMessageDialog(this, “Information Submitted … “);

n1.setText(“”);
n2.setText(“”);
m1.setText(“”);
m2.setText(“”);
e1.setText(“”);
cat.setSelectedIndex(0);
s1.setSelectedIndex(0);

male.setSelected(false);
female.setSelected(false);
check1.setSelected(false);

new Payment(Code1).setVisible(true);
this.dispose();

}
catch(HeadlessException | SQLException ex2)
{
}
}

else
JoptionPane.showMessageDialog(this, “Check Acknowledgement …”);

private void generatecodeActionPerformed(java.awt.event.ActionEvent evt) {

// Generate Booking Code Button Code

Date d1 = new Date();

int day1 = d1.getDay();


int hh = d1.getHours();
int mm = d1.getMinutes();

String s1 = JoptionPane.showInputDialog(this, “Your Birth Year “);


String s2 = JoptionPane.showInputDialog(this, “Your Last Name “);
String s3;

switch(day1)
{
case 1:
s3 = “MNY”;
break;
case 2:
s3 = “TDY”;
PAGE \* MERGEFORMAT 4
break;
case 3:
s3 = “WSY”;
break;
case 4:
s3 = “TSY”;
break;
case 5:
s3 = “FIY”;
break;
case 6:
s3 = “SRY”;
break;
case 0:
s3 = “SNY”;
break;
default:
s3 = “DNF”;
}
if(s1==null || s2==null)
JoptionPane.showMessageDialog(this, “Sorry ! Unable to Generate Booking Code …”);
else
{
Code1 =s3+mm+s2+hh+s1;

try
{
String qur = “insert into Trainbookingcode values(‘”+s1+”’, ‘”+s2+”’ , ‘”+Code1+”’)”;
st = con.createStatement();
st.execute(qur);
}

catch(SQLException e1)
{ }

booking.setText(“Your Booking Code is : “ + Code1);

addinfo.setEnabled(true);
generatecode.setEnabled(false);
logout.setEnabled(false);
}

// TODO add your handling code here:


}

private void logoutActionPerformed(java.awt.event.ActionEvent evt) {

logout.setEnabled(false);

Home h1 = new Home();


PAGE \* MERGEFORMAT 4
h1.setVisible(true);
h1.pack();
h1.setLocationRelativeTo(null);
h1.setDefaultCloseOperation(TravellerDetails.EXIT_ON_CLOSE);
this.dispose();

private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0);
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {

this.setState(Home.ICONIFIED);
}

private void s1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

private void catActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (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 (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(TravellerDetails.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (InstantiationException ex) {

PAGE \* MERGEFORMAT 4
java.util.logging.Logger.getLogger(TravellerDetails.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(TravellerDetails.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(TravellerDetails.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() {
new TravellerDetails().setVisible(true);
}
});
}

// Variables declaration – do not modify


private javax.swing.Jbutton addinfo;
private javax.swing.Jlabel booking;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JcomboBox cat;
private javax.swing.JcheckBox check1;
private javax.swing.JtextField e1;
private javax.swing.JradioButton female;
private javax.swing.Jlabel fname10;
private javax.swing.Jlabel fname11;
private javax.swing.Jlabel fname12;
private javax.swing.Jlabel fname5;
private javax.swing.Jlabel fname6;
private javax.swing.Jlabel fname7;
private javax.swing.Jlabel fname9;
private javax.swing.Jlabel from;
private javax.swing.Jbutton generatecode;
private javax.swing.Jlabel jLabel11;
private javax.swing.Jlabel jLabel12;
private javax.swing.Jlabel jLabel14;
private javax.swing.Jlabel jLabel6;
private javax.swing.Jlabel jLabel7;
private javax.swing.Jlabel jLabel8;
private javax.swing.Jpanel jPanel1;
private javax.swing.Jpanel jPanel10;
private javax.swing.Jpanel jPanel11;
private javax.swing.Jpanel jPanel12;
private javax.swing.Jpanel jPanel4;
PAGE \* MERGEFORMAT 4
private javax.swing.Jbutton logout;
private javax.swing.JtextField m1;
private javax.swing.JtextField m2;
private javax.swing.JradioButton male;
private javax.swing.JtextField n1;
private javax.swing.JtextField n2;
private javax.swing.JcomboBox s1;
// End of variables declaration
}

Click on Generate Booking Code

Booking code is being created now Enter all the informations of the traveller

PAGE \* MERGEFORMAT 4
PAGE \* MERGEFORMAT 4
6.3.7 – Payment Panel

import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JoptionPane;
import javax.swing.table.DefaultTableModel;

public class Payment extends javax.swing.Jframe {

Connection con;
Statement st;
ResultSet rs;

String d1;
String departure1;
String arrival1;
String Train1;

String name1;
PAGE \* MERGEFORMAT 4
String category1;
String gender1;
String contact1;
String email1;
String sheetno1;
String BookingCode;

int price = 0, subtotal = 0, donate = 5, confees = 10, total = 0;

int check1 = 0, check2 = 0;

public Payment()
{
initComponents();
this.setLocationRelativeTo(null);

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
}

catch(ClassNotFoundException | SQLException ex1)


{
}

month.removeAllItems();
month.addItem(“Month”);
for(int i=1 ; i <= 12 ; i++)
{
month.addItem(“”+i);
}

year.removeAllItems();
year.addItem(“Year”);
for(int i=2020 ; i<=2050 ; i++)
{
year.addItem(“”+i);
}
}

public Payment(String mycode)


{
initComponents();
this.setLocationRelativeTo(null);

month.removeAllItems();
month.addItem(“Month”);
for(int i=1 ; i <= 12 ; i++)
PAGE \* MERGEFORMAT 4
{
month.addItem(“”+i);
}

year.removeAllItems();
year.addItem(“Year”);
for(int i=2020 ; i<=2050 ; i++)
{
year.addItem(“”+i);
}

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
}

catch(ClassNotFoundException | SQLException ex1)


{
}

try
{

String qur = “select * from Traintraveller where booking = ‘”+mycode+”’ “;

st = con.createStatement();
rs = st.executeQuery(qur);

while(rs.next())
{
BookingCode = rs.getString(“booking”);
d1 = rs.getString(“depdate”);
departure1 = rs.getString(“departure”);
arrival1 = rs.getString(“arrival”);
Train1 = rs.getString(“Trainname”);

name1 = rs.getString(“name1”);
category1 = rs.getString(“category”);
gender1 = rs.getString(“gender”);
contact1= rs.getString(“mobile1”);
email1 = rs.getString(“email”);
sheetno1 = rs.getString(“sheetno”);
price = Integer.parseInt(rs.getString(“price”));

booking.setText(“Your Booking Code is : “ + BookingCode);

date1.setText(“Date : “ + d1);
departure.setText(“Departure : “ + departure1);
PAGE \* MERGEFORMAT 4
arrival.setText(“Arrival : “ + arrival1);
flight.setText(“Train : “ + Train1);

String row1[] = {name1, category1, gender1, contact1, email1, sheetno1};


DefaultTableModel model = (DefaultTableModel) tb1.getModel();
model.addRow(row1);

subtotal = subtotal + price;

stotal.setText(“Sub Total : “ + subtotal);


cfees.setText(“Convenience Fees “ + confees);
dcause.setText(“Donate to a Cause : “ + donate);

total = total + subtotal + confees + donate;


atotal.setText(“Total : “ + total);
}

}
catch(HeadlessException | NumberFormatException | SQLException e1)
{} }

@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

booking = new javax.swing.Jlabel();


jLabel15 = new javax.swing.Jlabel();
jScrollPane1 = new javax.swing.JscrollPane();
tb1 = new javax.swing.Jtable();
jPanel5 = new javax.swing.Jpanel();
stotal = new javax.swing.Jlabel();
cfees = new javax.swing.Jlabel();
dcause = new javax.swing.Jlabel();
atotal = new javax.swing.Jlabel();
jLabel26 = new javax.swing.Jlabel();
flight = new javax.swing.Jlabel();
departure = new javax.swing.Jlabel();
arrival = new javax.swing.Jlabel();
date1 = new javax.swing.Jlabel();
jPanel1 = new javax.swing.Jpanel();
ccard = new javax.swing.Jlabel();
jLabel9 = new javax.swing.Jlabel();
jLabel8 = new javax.swing.Jlabel();
jLabel7 = new javax.swing.Jlabel();
jLabel6 = new javax.swing.Jlabel();
jPanel2 = new javax.swing.Jpanel();
month = new javax.swing.JcomboBox();
nameoncard = new javax.swing.JtextField();
jLabel4 = new javax.swing.Jlabel();
cvvcode = new javax.swing.JtextField();
PAGE \* MERGEFORMAT 4
jLabel1 = new javax.swing.Jlabel();
jButton1 = new javax.swing.Jbutton();
year = new javax.swing.JcomboBox();
ccard1 = new javax.swing.Jlabel();
jLabel3 = new javax.swing.Jlabel();
cardnumber = new javax.swing.JtextField();
jLabel2 = new javax.swing.Jlabel();
jPanel4 = new javax.swing.Jpanel();
jLabel11 = new javax.swing.Jlabel();
jLabel12 = new javax.swing.Jlabel();
jLabel14 = new javax.swing.Jlabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);

booking.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


booking.setForeground(new java.awt.Color(0, 0, 153));
booking.setText(“…”);

jLabel15.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel15.setText(“Booking Summary”);

tb1.setBackground(new java.awt.Color(204, 204, 204));


tb1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
tb1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
“Name”, “Category”, “Gender”, “Contact”, “Email”, “Sheetno.”
}
));
tb1.setRowHeight(45);
jScrollPane1.setViewportView(tb1);

jPanel5.setBackground(new java.awt.Color(255, 255, 255));

stotal.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


stotal.setForeground(new java.awt.Color(0, 51, 153));
stotal.setText(“Sub Total”);

cfees.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


cfees.setForeground(new java.awt.Color(0, 51, 153));
cfees.setText(“Convenience Fees”);

dcause.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


dcause.setForeground(new java.awt.Color(0, 51, 153));
dcause.setText(“Donate to a Cause”);

PAGE \* MERGEFORMAT 4
atotal.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N
atotal.setForeground(new java.awt.Color(255, 51, 51));
atotal.setText(“Total”);

jLabel26.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel26.setText(“Amount Deatils”);

javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);


jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jLabel26)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(jPanel5Layout.createSequentialGroup()
.addGap(15, 15, 15)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING)
.addComponent(stotal)
.addComponent(dcause))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 132,
Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING)
.addComponent(atotal)
.addComponent(cfees))
.addGap(127, 127, 127))))
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel5Layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jLabel26)
.addGap(18, 18, 18)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(stotal)
.addComponent(cfees))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(atotal)
.addComponent(dcause))
PAGE \* MERGEFORMAT 4
.addContainerGap())
);

flight.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


flight.setForeground(new java.awt.Color(0, 51, 153));
flight.setText(“Train :”);

departure.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


departure.setForeground(new java.awt.Color(0, 51, 153));
departure.setText(“Departure “);

arrival.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


arrival.setForeground(new java.awt.Color(0, 51, 153));
arrival.setText(“Arrival”);

date1.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


date1.setForeground(new java.awt.Color(0, 51, 153));
date1.setText(“Date :”);

jPanel1.setBackground(new java.awt.Color(255, 255, 255));

ccard.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


ccard.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/crcard.JPG”))); //
NOI18N
ccard.setText(“ Credit / Debit Card”);

jLabel9.setBackground(new java.awt.Color(255, 255, 255));


jLabel9.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N
jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/paypal.JPG”))); //
NOI18N
jLabel9.setText(“PayPal”);

jLabel8.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


jLabel8.setText(“Payment Options”);

jLabel7.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/crcard.JPG”))); //
NOI18N
jLabel7.setText(“PayTm”);

jLabel6.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/netbanking.JPG”))); //
NOI18N
jLabel6.setText(“Net Banking”);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
PAGE \* MERGEFORMAT 4
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 160,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(30, 30, 30)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 146,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(ccard))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41,
Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING)
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 146,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 185,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(ccard)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel7)
.addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 30,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel2.setBackground(new java.awt.Color(255, 153, 0));

month.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


month.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Month” }));
month.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
monthMouseClicked(evt);
}
});
PAGE \* MERGEFORMAT 4
month.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
monthActionPerformed(evt);
}
});
nameoncard.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

jLabel4.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel4.setText(“EXPRIY DATE”);

cvvcode.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

jLabel1.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel1.setText(“CARD NUMBER”);

jButton1.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N


jButton1.setText(“Pay Now”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

year.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


year.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Year” }));

ccard1.setFont(new java.awt.Font(“Calibri”, 1, 18)); // NOI18N


ccard1.setText(“Credit / Debit Card Deatils”);

jLabel3.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel3.setText(“NAME ON THE CARD”);

cardnumber.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

jLabel2.setFont(new java.awt.Font(“Calibri”, 0, 14)); // NOI18N


jLabel2.setText(“CVV CODE”);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(76, 76, 76)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING, false)
.addComponent(cardnumber, javax.swing.GroupLayout.PREFERRED_SIZE,
370, javax.swing.GroupLayout.PREFERRED_SIZE)
PAGE \* MERGEFORMAT 4
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 360,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(140, 140, 140)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 80,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(month, javax.swing.GroupLayout.PREFERRED_SIZE, 120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(year, javax.swing.GroupLayout.PREFERRED_SIZE, 114,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cvvcode, javax.swing.GroupLayout.PREFERRED_SIZE, 124,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(30, 30, 30)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 140,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(nameoncard, javax.swing.GroupLayout.PREFERRED_SIZE,
370, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 370,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(ccard1, javax.swing.GroupLayout.PREFERRED_SIZE, 253,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(230, 230, 230)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(ccard1, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel1)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(cardnumber, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(nameoncard, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE))
PAGE \* MERGEFORMAT 4
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel2)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(month, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.B
ASELINE)
.addComponent(year, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cvvcode, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(29, Short.MAX_VALUE))
);

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel11.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setText(“X”);
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});

jLabel12.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText(“-“);
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

jLabel14.setBackground(new java.awt.Color(0, 51, 153));


jLabel14.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Trainicon.png”))); //
NOI18N
jLabel14.setText(“Train Booking System”);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


PAGE \* MERGEFORMAT 4
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel14)
.addComponent(jLabel12)
.addComponent(jLabel11))
.addGap(0, 0, Short.MAX_VALUE))
);

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.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(80, 80, 80)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAIL
ING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(flight, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(departure, javax.swing.GroupLayout.PREFERRED_SIZE,
149, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(arrival, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATE
D)
.addComponent(date1, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE))
PAGE \* MERGEFORMAT 4
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(79, 79, 79)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jLabel15)
.addComponent(booking, javax.swing.GroupLayout.PREFERRED_SIZE, 912,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(71, Short.MAX_VALUE))
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(7, 7, 7)
.addComponent(jLabel15)
.addGap(21, 21, 21)
.addComponent(booking)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(flight, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(departure, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(arrival, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(date1, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 74,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

PAGE \* MERGEFORMAT 4
.addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(25, 25, 25))
);

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

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Pay now Button Code

String cnumber = cardnumber.getText();


String cname = nameoncard.getText();
String cvv = cvvcode.getText();
String x1 = (String) month.getSelectedItem();
String x2 = (String) year.getSelectedItem();
String exdate = x1 + x2;
String trans1 = “RJB000” + BookingCode + “IND” + cvv;

if(cardnumber.getText().equals(“”) || nameoncard.getText().equals(“”) ||
cvvcode.getText().equals(“”) || month.getSelectedItem().equals(“Month”) ||
year.getSelectedItem().equals(“Year”) )
{
JoptionPane.showMessageDialog(this, “Please fill all the deatils…”);
}
else
if(cnumber.length() == 16 && cvvcode.getText().length() == 3)
{
for(int i = 0 ; i < cnumber.length() ; i++)
{
int c1 =(int) cnumber.charAt(i);
if(c1 >= 48 && c1 <= 57)
{
}
else
{
JoptionPane.showMessageDialog(this, “Fill Only number in Card Number…”);
cardnumber.setText(“”);
check1 = 1;
break;
}
}

for(int i = 0 ; i< cvvcode.getText().length() ; i++)


{
int c1 =(int) cnumber.charAt(i);
PAGE \* MERGEFORMAT 4
if(c1 >= 48 && c1 <= 57)
{
}
else
{
JoptionPane.showMessageDialog(this, “Fill Only number in CVV Code “);
cardnumber.setText(“”);
check2 = 1;
break;
}
}

if(check1 == 0 && check2 == 0)


{
String qur = “insert into Trainpayment values(‘”+BookingCode+”’, ‘”+cnumber+”’ ,
‘”+cname+”’ , ‘”+exdate+”’ , ‘”+cvv+”’ , ‘”+trans1+”’, ‘”+total+”’)”;
try{
st = con.createStatement();
st.execute(qur);

JoptionPane.showMessageDialog(this, “Payment Successfully Done “);


new LastForm(BookingCode, trans1).setVisible(true);
this.setVisible(false);

}
catch(Exception e1)
{

}
}
}

else
{
JoptionPane.showMessageDialog(this, “Wrong Information… “);
cardnumber.setText(“”);
cvvcode.setText(“”);
}

private void monthActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:


}

PAGE \* MERGEFORMAT 4
private void monthMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:


}

private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0);
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {

this.setState(Home.ICONIFIED);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (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 (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Payment.class.getName()).log(java.util.logging.Level.SEVERE
, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Payment.class.getName()).log(java.util.logging.Level.SEVERE
, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Payment.class.getName()).log(java.util.logging.Level.SEVERE
, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Payment.class.getName()).log(java.util.logging.Level.SEVERE
, null, ex);
}
PAGE \* MERGEFORMAT 4
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Payment().setVisible(true);

}
});
}

// Variables declaration – do not modify


private javax.swing.Jlabel arrival;
private javax.swing.Jlabel atotal;
private javax.swing.Jlabel booking;
private javax.swing.JtextField cardnumber;
private javax.swing.Jlabel ccard;
private javax.swing.Jlabel ccard1;
private javax.swing.Jlabel cfees;
private javax.swing.JtextField cvvcode;
private javax.swing.Jlabel date1;
private javax.swing.Jlabel dcause;
private javax.swing.Jlabel departure;
private javax.swing.Jlabel flight;
private javax.swing.Jbutton jButton1;
private javax.swing.Jlabel jLabel1;
private javax.swing.Jlabel jLabel11;
private javax.swing.Jlabel jLabel12;
private javax.swing.Jlabel jLabel14;
private javax.swing.Jlabel jLabel15;
private javax.swing.Jlabel jLabel2;
private javax.swing.Jlabel jLabel26;
private javax.swing.Jlabel jLabel3;
private javax.swing.Jlabel jLabel4;
private javax.swing.Jlabel jLabel6;
private javax.swing.Jlabel jLabel7;
private javax.swing.Jlabel jLabel8;
private javax.swing.Jlabel jLabel9;
private javax.swing.Jpanel jPanel1;
private javax.swing.Jpanel jPanel2;
private javax.swing.Jpanel jPanel4;
private javax.swing.Jpanel jPanel5;
private javax.swing.JscrollPane jScrollPane1;
private javax.swing.JcomboBox month;
private javax.swing.JtextField nameoncard;
private javax.swing.Jlabel stotal;
private javax.swing.Jtable tb1;
private javax.swing.JcomboBox year;
// End of variables declaration
}
PAGE \* MERGEFORMAT 4
6.3.8 – Last form panel (Ticket No. and Transaction No.)
PAGE \* MERGEFORMAT 4
import javax.swing.JoptionPane;

public class LastForm extends javax.swing.Jframe


{

public LastForm() {
initComponents();
this.setLocationRelativeTo(null);
}

public LastForm(String b1, String t1)


{
initComponents();
this.setLocationRelativeTo(null);

tk1.setText(b1);
tr1.setText(t1);
}

@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

logout = new javax.swing.Jbutton();


logout1 = new javax.swing.Jbutton();
jPanel4 = new javax.swing.Jpanel();
jLabel11 = new javax.swing.Jlabel();
jLabel12 = new javax.swing.Jlabel();
jLabel14 = new javax.swing.Jlabel();
PAGE \* MERGEFORMAT 4
jPanel1 = new javax.swing.Jpanel();
tr1 = new javax.swing.Jlabel();
jLabel2 = new javax.swing.Jlabel();
tk1 = new javax.swing.Jlabel();
jLabel4 = new javax.swing.Jlabel();
jLabel1 = new javax.swing.Jlabel();
jSeparator2 = new javax.swing.Jseparator();
jSeparator1 = new javax.swing.Jseparator();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);

logout.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


logout.setText(“Log-Out”);
logout.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
logoutActionPerformed(evt);
}
});

logout1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


logout1.setText(“Home”);
logout1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
logout1ActionPerformed(evt);
}
});

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel11.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setText(“X”);
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});

jLabel12.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText(“-“);
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

PAGE \* MERGEFORMAT 4
jLabel14.setBackground(new java.awt.Color(0, 51, 153));
jLabel14.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Trainicon.png”))); //
NOI18N
jLabel14.setText(“Train Booking System”);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel14)
.addComponent(jLabel12)
.addComponent(jLabel11))
.addGap(0, 5, Short.MAX_VALUE))
);

jPanel1.setBackground(new java.awt.Color(255, 255, 255));

tr1.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


tr1.setForeground(new java.awt.Color(0, 0, 102));
tr1.setText(“TR1”);

jLabel2.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel2.setForeground(new java.awt.Color(0, 0, 102));
jLabel2.setText(“Your Ticket No. is : “);

tk1.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


tk1.setForeground(new java.awt.Color(0, 0, 102));
tk1.setText(“TK1”);

jLabel4.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel4.setForeground(new java.awt.Color(0, 0, 102));
PAGE \* MERGEFORMAT 4
jLabel4.setText(“Your Transaction Number is :”);

jLabel1.setFont(new java.awt.Font(“Tahoma”, 1, 48)); // NOI18N


jLabel1.setForeground(new java.awt.Color(255, 153, 0));
jLabel1.setText(“Thank You”);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1)
.addGap(311, 311, 311))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(91, 91, 91)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.TRAILING)
.addComponent(jLabel4)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.LEADING)
.addComponent(tk1)
.addComponent(tr1)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(215, 215, 215)
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 480,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(203, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(44, 44, 44)
.addComponent(jLabel1)
.addGap(7, 7, 7)
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(34, 34, 34)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel2)
.addComponent(tk1, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
PAGE \* MERGEFORMAT 4
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel4)
.addComponent(tr1, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(53, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(logout1, javax.swing.GroupLayout.PREFERRED_SIZE, 138,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(logout, javax.swing.GroupLayout.PREFERRED_SIZE, 142,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(30, 30, 30))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(logout1)
.addComponent(logout))
.addGap(18, 18, 18)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(56, 56, 56))
);

pack();
PAGE \* MERGEFORMAT 4
}// </editor-fold>

private void logoutActionPerformed(java.awt.event.ActionEvent evt) {

// Logout Button Code

logout.setEnabled(false);
JoptionPane.showMessageDialog(this, “Thanks to visit…”);

Login l1 = new Login();


l1.setVisible(true);
l1.pack();
l1.setLocationRelativeTo(null);
l1.setDefaultCloseOperation(Home.EXIT_ON_CLOSE);
this.dispose();

private void logout1ActionPerformed(java.awt.event.ActionEvent evt) {

// Home Button Code

Home h1 = new Home();


h1.setVisible(true);
h1.pack();
h1.setLocationRelativeTo(null);
h1.setDefaultCloseOperation(LastForm.EXIT_ON_CLOSE);
this.dispose();
// TODO add your handling code here:
}

private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0);
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {

this.setState(Home.ICONIFIED);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LastForm().setVisible(true);
}
});
PAGE \* MERGEFORMAT 4
}

// Variables declaration – do not modify


private javax.swing.Jlabel jLabel1;
private javax.swing.Jlabel jLabel11;
private javax.swing.Jlabel jLabel12;
private javax.swing.Jlabel jLabel14;
private javax.swing.Jlabel jLabel2;
private javax.swing.Jlabel jLabel4;
private javax.swing.Jpanel jPanel1;
private javax.swing.Jpanel jPanel4;
private javax.swing.Jseparator jSeparator1;
private javax.swing.Jseparator jSeparator2;
private javax.swing.Jbutton logout;
private javax.swing.Jbutton logout1;
private javax.swing.Jlabel tk1;
private javax.swing.Jlabel tr1;
// End of variables declaration
}

6.3.9 – Display Passenger Information Button Code

PAGE \* MERGEFORMAT 4
Select search option and enter search related information then search record.

import java.sql.Connection;
PAGE \* MERGEFORMAT 4
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.util.Date;
import javax.swing.table.DefaultTableModel;

public class Passenger extends javax.swing.Jframe {

Connection con;
Statement st;
ResultSet rs;

public Passenger()
{
initComponents();
this.setLocationRelativeTo(null);

l1.setVisible(false);
t1.setVisible(false);
b1.setVisible(false);

list1.removeAllItems();

list1.addItem(“Search By “);
list1.addItem(“Passenger Name “);
list1.addItem(“Ticket Number “);
list1.addItem(“Contact Number “);
list1.addItem(“Train Number “);
list1.addItem(“Departure Date “);

try
{
Class.forName(“java.sql.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/trdb” , “root” , “root”);
}

catch(ClassNotFoundException | SQLException ex1)


{
}
}

/**
* 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”)
PAGE \* MERGEFORMAT 4
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jScrollPane1 = new javax.swing.JscrollPane();


tab1 = new javax.swing.Jtable();
list1 = new javax.swing.JcomboBox();
jLabel1 = new javax.swing.Jlabel();
l1 = new javax.swing.Jlabel();
t1 = new javax.swing.JtextField();
b1 = new javax.swing.Jbutton();
logout1 = new javax.swing.Jbutton();
jPanel4 = new javax.swing.Jpanel();
jLabel11 = new javax.swing.Jlabel();
jLabel12 = new javax.swing.Jlabel();
jLabel14 = new javax.swing.Jlabel();
jLabel4 = new javax.swing.Jlabel();
jSeparator1 = new javax.swing.Jseparator();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);

tab1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


tab1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null, null, null, null}
},
new String [] {
“Ticket No”, “Passenger Name”, “Contact Number”, “Train Number”, “From”, “To”,
“Departure”, “Arrival”, “Sheet No”, “Date”
}
));
tab1.setRowHeight(40);
jScrollPane1.setViewportView(tab1);

list1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


list1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1”, “Item 2”,
“Item 3”, “Item 4” }));
list1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
list1ActionPerformed(evt);
}
});

jLabel1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


jLabel1.setText(“Please Select Search Option”);

l1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


l1.setText(“…”);

PAGE \* MERGEFORMAT 4
t1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N

b1.setBackground(new java.awt.Color(255, 153, 0));


b1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N
b1.setText(“Search”);
b1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b1ActionPerformed(evt);
}
});

logout1.setFont(new java.awt.Font(“Calibri”, 0, 18)); // NOI18N


logout1.setText(“Home”);
logout1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
logout1ActionPerformed(evt);
}
});

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel11.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setText(“X”);
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});

jLabel12.setFont(new java.awt.Font(“Calibri”, 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText(“-“);
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

jLabel14.setBackground(new java.awt.Color(0, 51, 153));


jLabel14.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource(“/Trainicon.png”))); //
NOI18N
jLabel14.setText(“Train Booking System”);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
PAGE \* MERGEFORMAT 4
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 931,
Short.MAX_VALUE)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASE
LINE)
.addComponent(jLabel14)
.addComponent(jLabel12)
.addComponent(jLabel11))
);

jLabel4.setFont(new java.awt.Font(“Calibri”, 0, 36)); // NOI18N


jLabel4.setText(“Passengers Information”);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(43, 43, 43)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 359,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(30, 30, 30)
.addComponent(l1))
.addGroup(layout.createSequentialGroup()
.addComponent(list1, javax.swing.GroupLayout.PREFERRED_SIZE, 204,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(28, 28, 28)
.addComponent(t1, javax.swing.GroupLayout.PREFERRED_SIZE, 292,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(b1, javax.swing.GroupLayout.PREFERRED_SIZE, 203,
javax.swing.GroupLayout.PREFERRED_SIZE)
PAGE \* MERGEFORMAT 4
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(logout1, javax.swing.GroupLayout.PREFERRED_SIZE, 142,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 1118,
Short.MAX_VALUE)
.addComponent(jSeparator1))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14,
Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(l1))
.addGap(6, 6, 6)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,
false)
.addComponent(b1, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(list1, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(t1, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(logout1, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(22, 22, 22)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 415,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(20, 20, 20))
);

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

private void list1ActionPerformed(java.awt.event.ActionEvent evt) {

// Search Option Button Code

if(list1.getSelectedIndex() == 1)
{
l1.setVisible(true);
t1.setVisible(true);
PAGE \* MERGEFORMAT 4
b1.setVisible(true);

t1.setText(“”);
l1.setText(“Enter Passenger First&Middle Name “);
}
else

if(list1.getSelectedIndex() == 2)
{
l1.setVisible(true);
t1.setVisible(true);
b1.setVisible(true);

t1.setText(“”);
l1.setText(“Enter Ticket Number “);
}
else

if(list1.getSelectedIndex() == 3)
{
l1.setVisible(true);
t1.setVisible(true);
b1.setVisible(true);

t1.setText(“”);
l1.setText(“Enter Contact Number “);
}
else

if(list1.getSelectedIndex() == 4)
{
l1.setVisible(true);
t1.setVisible(true);
b1.setVisible(true);

t1.setText(“”);
l1.setText(“Enter Train Number | RJ20-Number “);
}
else

if(list1.getSelectedIndex() == 5)
{
l1.setVisible(true);
t1.setVisible(true);
b1.setVisible(true);

t1.setText(“”);
l1.setText(“Enter Train Date Number | DD/MM/YY “);
}

PAGE \* MERGEFORMAT 4
else
{
l1.setVisible(false);
t1.setVisible(false);
b1.setVisible(false);

}
// TODO add your handling code here:
}

private void b1ActionPerformed(java.awt.event.ActionEvent evt) {


// Search Button Code
if(list1.getSelectedIndex() == 1)
{
String qur = “select * from Traintraveller where name1 = ‘”+t1.getText()+”’”;
try{
st = con.createStatement();
rs = st.executeQuery(qur);

DefaultTableModel model = (DefaultTableModel) tab1.getModel();


model.setNumRows(0);

Date d1 = new Date();


while(rs.next())
{
String row1[] = {rs.getString(“booking”), rs.getString(“name1”),
rs.getString(“mobile1”), rs.getString(“Trainname”), rs.getString(“departure”),
rs.getString(“arrival”), rs.getString(“departuretime”), rs.getString(“arrivaltime”),
rs.getString(“sheetno”), rs.getString(“depdate”)};
model.addRow(row1);

}
}

catch(SQLException e1)
{

}
}

else

if(list1.getSelectedIndex() == 2)
{
String qur = “select * from Traintraveller where booking = ‘”+t1.getText()+”’”;
try{

st = con.createStatement();
rs = st.executeQuery(qur);
PAGE \* MERGEFORMAT 4
DefaultTableModel model = (DefaultTableModel) tab1.getModel();
model.setNumRows(0);

while(rs.next())
{
String row1[] = {rs.getString(“booking”), rs.getString(“name1”),
rs.getString(“mobile1”), rs.getString(“Trainname”), rs.getString(“departure”),
rs.getString(“arrival”), rs.getString(“departuretime”), rs.getString(“arrivaltime”),
rs.getString(“sheetno”), rs.getString(“depdate”)};
model.addRow(row1);

}
}

catch(SQLException e1)
{

}
}

else

if(list1.getSelectedIndex() == 3)
{
String qur = “select * from Traintraveller where mobile1 = ‘”+t1.getText()+”’”;
try{

st = con.createStatement();
rs = st.executeQuery(qur);

DefaultTableModel model = (DefaultTableModel) tab1.getModel();


model.setNumRows(0);

while(rs.next())
{
String row1[] = {rs.getString(“booking”), rs.getString(“name1”),
rs.getString(“mobile1”), rs.getString(“Trainname”), rs.getString(“departure”),
rs.getString(“arrival”), rs.getString(“departuretime”), rs.getString(“arrivaltime”),
rs.getString(“sheetno”), rs.getString(“depdate”)};
model.addRow(row1);

}
}

catch(SQLException e1)
{

}
}
PAGE \* MERGEFORMAT 4
else
if(list1.getSelectedIndex() == 4)
{
String qur = “select * from Traintraveller where Trainname = ‘”+t1.getText()+”’”;
try{

st = con.createStatement();
rs = st.executeQuery(qur);

DefaultTableModel model = (DefaultTableModel) tab1.getModel();


model.setNumRows(0);

while(rs.next())
{
String row1[] = {rs.getString(“booking”), rs.getString(“name1”),
rs.getString(“mobile1”), rs.getString(“Trainname”), rs.getString(“departure”),
rs.getString(“arrival”), rs.getString(“departuretime”), rs.getString(“arrivaltime”),
rs.getString(“sheetno”), rs.getString(“depdate”)};
model.addRow(row1);

}
}

catch(SQLException e1)
{

}
}

else
if(list1.getSelectedIndex() == 5)
{
String qur = “select * from Traintraveller where depdate = ‘”+t1.getText()+”’”;
try{

st = con.createStatement();
rs = st.executeQuery(qur);

DefaultTableModel model = (DefaultTableModel) tab1.getModel();


model.setNumRows(0);

while(rs.next())
{
String row1[] = {rs.getString(“booking”), rs.getString(“name1”),
rs.getString(“mobile1”), rs.getString(“Trainname”), rs.getString(“departure”),
PAGE \* MERGEFORMAT 4
rs.getString(“arrival”), rs.getString(“departuretime”), rs.getString(“arrivaltime”),
rs.getString(“sheetno”), rs.getString(“depdate”)};
model.addRow(row1);

}
}
catch(SQLException e1)
{}
}
}

private void logout1ActionPerformed(java.awt.event.ActionEvent evt) {

// Home Button Code

Home h1 = new Home();


h1.setVisible(true);
h1.pack();
h1.setLocationRelativeTo(null);
h1.setDefaultCloseOperation(LastForm.EXIT_ON_CLOSE);
this.dispose();
// TODO add your handling code here:
}

private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0);
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {

this.setState(Home.ICONIFIED);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the NimTrain look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If NimTrain (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 (“NimTrain”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
PAGE \* MERGEFORMAT 4
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Passenger.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Passenger.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Passenger.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Passenger.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Passenger().setVisible(true);
}
});
}

// Variables declaration – do not modify


private javax.swing.Jbutton b1;
private javax.swing.Jlabel jLabel1;
private javax.swing.Jlabel jLabel11;
private javax.swing.Jlabel jLabel12;
private javax.swing.Jlabel jLabel14;
private javax.swing.Jlabel jLabel4;
private javax.swing.Jpanel jPanel4;
private javax.swing.JscrollPane jScrollPane1;
private javax.swing.Jseparator jSeparator1;
private javax.swing.Jlabel l1;
private javax.swing.JcomboBox list1;
private javax.swing.Jbutton logout1;
private javax.swing.JtextField t1;
private javax.swing.Jtable tab1;
// End of variables declaration
}

PAGE \* MERGEFORMAT 4
PAGE \* MERGEFORMAT 4
6.3.10 - Add Train Panel

import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import javax.swing.JOptionPane;

public class Train extends javax.swing.JFrame {

Connection con;
Statement st;

public Train()
{
initComponents();
this.setLocationRelativeTo(null);

Date d2 = new Date();


date1.setText("Today :" + d2);

dep1.removeAllItems();
dep1.addItem("KOTA");
dep1.addItem("BUNDI");
dep1.addItem("JAIPUR");
PAGE \* MERGEFORMAT 4
dep1.addItem("AJMER");
dep1.addItem("ALWAR");

ar1.removeAllItems();
ar1.addItem("KOTA");
ar1.addItem("BUNDI");
ar1.addItem("JAIPUR");
ar1.addItem("AJMER");
ar1.addItem("ALWAR");

try
{
Class.forName("java.sql.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/trdb" , "root" , "root");
}
catch(ClassNotFoundException | SQLException ex1)
{
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel2 = new javax.swing.JPanel();


jLabel3 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
Train1 = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
deptime1 = new javax.swing.JTextField();
dep1 = new javax.swing.JComboBox();
jLabel9 = new javax.swing.JLabel();
ar1 = new javax.swing.JComboBox();
artime1 = new javax.swing.JTextField();
jLabel11 = new javax.swing.JLabel();
price1 = new javax.swing.JTextField();
date1 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
PAGE \* MERGEFORMAT 4
jLabel14 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);

jPanel2.setBackground(new java.awt.Color(255, 255, 255));

jLabel3.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


jLabel3.setText("Time :");

jButton1.setBackground(new java.awt.Color(255, 153, 0));


jButton1.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N
jButton1.setText("Add Train");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton2.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N


jButton2.setText("Cancel");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jLabel6.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


jLabel6.setText("Departure :");

Train1.setBackground(new java.awt.Color(204, 204, 204));


Train1.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
Train1.setForeground(new java.awt.Color(51, 51, 51));
Train1.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
Train1FocusLost(evt);
}
});

jLabel7.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


jLabel7.setText("Train No. :");

jLabel8.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


jLabel8.setText("Price :");

deptime1.setBackground(new java.awt.Color(204, 204, 204));


deptime1.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
deptime1.setForeground(new java.awt.Color(51, 51, 51));
PAGE \* MERGEFORMAT 4
dep1.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N
dep1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2",
"Item 3", "Item 4" }));

jLabel9.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


jLabel9.setText("Arrival :");

ar1.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N


ar1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2",
"Item 3", "Item 4" }));

artime1.setBackground(new java.awt.Color(204, 204, 204));


artime1.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
artime1.setForeground(new java.awt.Color(51, 51, 51));

jLabel11.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


jLabel11.setText("Time :");

price1.setBackground(new java.awt.Color(204, 204, 204));


price1.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
price1.setForeground(new java.awt.Color(51, 51, 51));

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.TRAILING)
.addComponent(jLabel8)
.addComponent(jLabel9))
.addGap(18, 18, 18))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(62, 62, 62)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment
.TRAILING)
.addComponent(jLabel7)
.addComponent(jLabel6))
.addGap(19, 19, 19)))
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(dep1, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)

PAGE \* MERGEFORMAT 4
.addComponent(ar1, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(price1)
.addComponent(Train1)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 148,
Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 121,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(deptime1, javax.swing.GroupLayout.PREFERRED_SIZE, 120,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(artime1, javax.swing.GroupLayout.PREFERRED_SIZE, 120,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(127, 127, 127))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(38, 38, 38)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(Train1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel6)
.addComponent(dep1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(deptime1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel9)
.addComponent(ar1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
PAGE \* MERGEFORMAT 4
.addComponent(jLabel11)
.addComponent(artime1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel8)
.addComponent(price1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 39,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 39,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(47, Short.MAX_VALUE))
);

date1.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


date1.setText("...");

jPanel4.setBackground(new java.awt.Color(0, 51, 153));

jLabel12.setFont(new java.awt.Font("Calibri", 1, 24)); // NOI18N


jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText("X");
jLabel12.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});

jLabel13.setFont(new java.awt.Font("Calibri", 1, 24)); // NOI18N


jLabel13.setForeground(new java.awt.Color(255, 255, 255));
jLabel13.setText("-");
jLabel13.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel13MouseClicked(evt);
}
});

jLabel14.setBackground(new java.awt.Color(0, 51, 153));


jLabel14.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Trainicon.png"))); //
NOI18N
jLabel14.setText("Train Booking System");

PAGE \* MERGEFORMAT 4
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 212,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 786,
Short.MAX_VALUE)
.addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 16,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel12)
.addGap(22, 22, 22))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASE
LINE)
.addComponent(jLabel14)
.addComponent(jLabel13)
.addComponent(jLabel12))
);

jLabel1.setFont(new java.awt.Font("Calibri", 0, 36)); // NOI18N


jLabel1.setText("Add New Train");

jLabel4.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N


jLabel4.setText("Click to Home");
jLabel4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel4.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel4MouseClicked(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(140, 140, 140)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(date1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILIN
G)
.addGroup(layout.createSequentialGroup()
PAGE \* MERGEFORMAT 4
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 219,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(451, 451, 451)
.addComponent(jLabel4))
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(73, 73, 73)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29)
.addComponent(date1)
.addContainerGap(70, Short.MAX_VALUE))
);

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

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Add Train Button Code

String f1, d1, d1time, a1, a1time, p1;

f1 = Train1.getText();
d1 = (String) dep1.getSelectedItem();
d1time = deptime1.getText();
a1 = (String) ar1.getSelectedItem();
a1time = artime1.getText();

p1 = price1.getText();

if(f1.equals("") || d1time.equals("") || a1time.equals("") || p1.equals("") )


{
JOptionPane.showMessageDialog(this, "Please Fill All the Information First...");
}

else
{
PAGE \* MERGEFORMAT 4
try{
String qur = "insert into Train values('"+f1+"' , '"+d1+"' , '"+a1+"' , '"+p1+"' ,
'"+d1time+"' , '"+a1time+"')";

st = con.createStatement();
st.execute(qur);
JOptionPane.showMessageDialog(this, "Train Added..");

Train1.setText("");
dep1.setSelectedIndex(0);
ar1.setSelectedIndex(0);
deptime1.setText("");
artime1.setText("");
price1.setText("");
}

catch(Exception e1)
{

// TODO add your handling code here:


}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Cancel Button Code

Train b1 = new Train();


b1.setVisible(true);
this.dispose();

private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) {

Home h1 = new Home();


h1.setVisible(true);
h1.pack();
h1.setLocationRelativeTo(null);
h1.setDefaultCloseOperation(Login.EXIT_ON_CLOSE);
this.dispose();
}

private void Train1FocusLost(java.awt.event.FocusEvent evt) {

// TODO add your handling code here:


PAGE \* MERGEFORMAT 4
}

private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0);
}

private void jLabel13MouseClicked(java.awt.event.MouseEvent evt) {

this.setState(Home.ICONIFIED);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the NimTrain look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If NimTrain (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 ("NimTrain".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Train.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Train.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Train.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Train.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
PAGE \* MERGEFORMAT 4
public void run() {
try{
new Train().setVisible(true);
}
catch(Exception ex2)
{

}
}
});
}

// Variables declaration - do not modify


private javax.swing.JComboBox ar1;
private javax.swing.JTextField artime1;
private javax.swing.JTextField Train1;
private javax.swing.JLabel date1;
private javax.swing.JComboBox dep1;
private javax.swing.JTextField deptime1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel4;
private javax.swing.JTextField price1;
// End of variables declaration
}

PAGE \* MERGEFORMAT 4
Now check your Train is added or not

PAGE \* MERGEFORMAT 4
Your Train has been added | Now Book a ticket

PAGE \* MERGEFORMAT 4
Chepter 7 - Future Scope of this project

 We can add printer in future for generating printed ticket for the traveler.
 We can give more advanced Train Booking System software including more
facilities.
 We can add functionality for sending a message to the traveler related to ticket,
Train, travelling information etc.

PAGE \* MERGEFORMAT 4
Chepter - 9 References

1. Java: A Beginner’s Guide(Sixth Edition)


(Written by Herbert Schildt) As you can judge by the name it’s a good book for someone who wants to
make an entry in the programming world, especially as a java developer.
It covers all the basic concepts of Core Java and the best part is, it comes with a number of hands-on
exercises and quiz at the end of each chapter.
This will surely enhance your learning abilities.
Obviously, this book is not the only book for java. But it’s for sure among the best java books in the world.

2. Head First Java


(Written by Kathy Sierra and Bert Bates) This book is my personal recommendation for those who
appreciate simplicity in learning.
The best part of this book is that it relates java programming concepts to real life very nicely.
Explanation of OOPS concepts is done in such an effortless manner that even a layman can understand it by
few readings. This book is also one of the best java books in the market today, So make sure to have your
hands on it.

3.Java: The Complete Reference(Tenth Edition)


(written by Herbert Schildt). If you want to master Java programming then this book will be blockTrainter
to you.
You can keep this book for reference purpose, as I won’t recommend this book to the beginners because it
has more than 1200 pages in it.
It might scare you at first glance but if you want to move up from beginner to intermediate level then
surely this will be the best book for Java.

4.Core Java Volume I — Fundamentals (9th Edition)


(Written by Cays. Horstmann and Gary Cornell) This book is again a reference book that contains
detailed features of core java.
I consider this book better than the complete reference because it has less number of pages in it. The only
thing which I find missing from this book is that it doesn’t have anything related to Java 8 which is pretty
sad, otherwise it is one of the best-recommended reference books for Java or best java books.

5.Programming with Java


(Written by E.Balagurusamy) This book is very well known by Indian Computer science students. it offers
a very detailed coverage of java concepts.
Each and every concept is well explained and summarized with numerous examples and programming
exercises.
Maybe this is the reason, why many universities and colleges have recommended this book for their
computer science students.
In our honest Opinion, this is the best book for java, you can have in 2018.

PAGE \* MERGEFORMAT 4
6. Effective Java
(Written by Joshua Bloch) Yes, this amazing book is also on our list. It does justice with its name
“Effective Java”.
It is also actually very effective. Whoever reads it or go through this, just fall in love with it.
You will learn so much about Java and its API that you could imagine. Any programmer from any experience
level can enjoy it and we can proudly admit that this is among best java books.

7. Java Concurrency In Practice


(Written by Brian Goetz) Java concurrency in practice is a brilliant masterpiece. At first glance, it might
look difficult but when an induvial get started, it gets fantastic.
Multithreading and concurrency is an essential part of Java programming and this book do justice with it.
Even though the book only covers Java 5, not Java 8, it’s still a relevant choice and a must read book for any
serious Java developer. This makes it not the Best book for Java but among the best java books.

8. Clean Code( Written by Robert Cecil Martin ) As you can judge by the name it’s an amazing book. Its
title clearly portrays its purpose as it teaches you how to write clean or better code.
And in our honest opinion, it’s easy to learn java but difficult to write clean code of java. So this book surely
helps in that.
So, yes we can say that it satisfies the term best book for java for some advanced developers as beginners
won’t be able to write code before learning its basics.

9. Test Driven
(Written by Lasse Koskela) when it comes to the testing phase, automation testing is an important skill.
For developers, it all starts with unit testing and luckily this book is blessed with Junit from the start.
So, If you are serious about code quality and writing unit and automation test then this book is a must read
in 2018. Its indeed the best book for java in the form of testing as well.

10. The Definitive Guide to Java Performance


( Written by Charlie Hunt) If you want to be a Java developer then you must have an in-depth knowledge
of the terms JVM, automatic garbage collection and of course performance tuning.

PAGE \* MERGEFORMAT 4
Thanks

PAGE \* MERGEFORMAT 4

You might also like