TRAIN BOOKING SYSTEM
by
_________________________
_________________________
_________________________
_________________________
Submitted to the Department of Computer Science & Applications
in partial fulfillment of the requirements
for the Degree/Diploma of
BCA (Bachelor of Computer Application)
in
Computer Science
University of Kota, Kota
Session : 2019 - 22
Under the Esteemed Guidance of
Usha Jain
Lecturer
Dept. of Computer Science & Applications, TRDB, Kota
Modi Institute of Management & Technology, Kota
1
CERTIFICATE
Certified that project work entitled “Train Booking System” is a bonafide work carried
out by VIJAY KUMAR SUMAN, SHOYAB AHMED, JAGDISH LODHA, REENA
ANGLEN at TRDB, Kota. In partial fulfillment for the award of “BCA (Bachelor of
Computer Application)“ in Computer Science from University of Kota, Kota during the
academic year 2019-2022
Usha Jain
(External) (Internal/Guide)
Name of External Name of Internal/ Guide
Date:
(Signature date)
Dept. of Computer Science & Applications
Modi Institute of Management & Technology,
Kota
2
ACKNOWLEDGEMENT
We take this occasion to thank God, almighty for blessing us with his grace and taking our
endeavor to a successful culmination. We extend our sincere and heartfelt thanks to our esteemed
guide, Ms. Usha jain, for providing us with the right guidance and advice at the crucial junctures
and for showing me the right way. We extend our sincere thanks to our respected Head of the
department Mr. Kamal Kulshreshtha , for allowing us to use the facilities available. We would
like to thank the other faculty members also, at this occasion. Last but not the least, we would like
to thank our friends and family for the support and encouragement they have given us during the
course of our work.
3
ABSTRACT
Project Name : Train Booking System
Project Team : ______________________________________________________
Term : 2020 ( BCA Final Year)
Summary :
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
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.
4
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
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
5
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.
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.
6
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.
7
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:
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.
8
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.
9
Chepter 4 – Database Layer
4.1 ER-Diagram / DFD
name
Trainsignup
amount
username address
Trainpayment Password1 dob
Password2 lastname
transid cvv
cardnumber nameoncard
Bookingcode exdate
MIMT
Database
Train Trainbookingcode
Train arptime
Birthyear
booking
departure deptime lastname
arrival price
arrivalptime
Trainname
departure departuretime
Traintraveller
depdate price
booking
tclass
sheetno
Name1
category
Name2
Mobile1 email
Mobile2 gender 10
4.2 DataBase and Tables
DataBase Name : trdb
Tables Design
TrainBooking Code Table
Train Table
11
Train Payment Table
Trainsignup Table
12
Traintraveller Table
13
Chepter 5 – External Interface
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
14
5.2 Software Interface
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.
15
Chepter 6 – Process Logic Layers
Login Process
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
16
6.1 – Input Specification
Project : Train Booking System
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
17
6.2 Output Specification :
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.
18
from this panel.
Requre to select Search
category like passenger name
wise, contact wise, Train no. Display Search Passenger panel
wise, date of birth wise, Ticket with combo box, textfield and
Passenger Information 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
19
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”);
}
20
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));
21
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))
22
.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(“-“);
23
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)
24
.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();
25
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)
{
26
}
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) {
27
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
28
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();
29
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
30
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)
31
.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);
32
}
});
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);
33
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)
34
.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)
35
.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)
36
{
// 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();
37
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.
38
* 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;
39
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
40
41
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”);
42
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();
43
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);
44
}
});
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
45
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)
46
.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)
47
.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)
48
.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)))
49
.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) {
50
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(
51
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);
52
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
53
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();
54
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 {
55
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;
56
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
57
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();
58
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);
59
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”))
{
60
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();
61
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
};
62
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)
63
.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) {
64
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” }));
65
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)))
66
.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))
67
);
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 [] {
68
“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);
69
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)
70
.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) {
71
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();
72
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;
73
}
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();
74
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;
}
}
75
} 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;
76
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
77
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;
78
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();
79
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))
);
80
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()
81
.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)
82
.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)
83
.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)
84
.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);
}
});
85
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()
86
.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();
87
// 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>
88
/* 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
89
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() {
90
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;
91
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() {
92
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”);
93
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”);
94
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()
95
.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))
96
);
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)
97
.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))
);
98
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
99
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))
100
);
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)
101
.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();
102
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”;
103
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();
104
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) {
105
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;
106
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
107
108
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;
109
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++)
110
{
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);
111
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();
112
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”);
113
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))
114
.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()
115
.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);
}
});
116
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)
117
.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))
118
.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);
119
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))
120
.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)
121
.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);
122
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:
}
123
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);
}
124
//</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
}
125
6.3.8 – Last form panel (Ticket No. and Transaction No.)
126
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();
127
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);
}
});
128
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));
129
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)
130
.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();
131
}// </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);
}
});
132
}
// 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
133
Select search option and enter search related information then search record.
import java.sql.Connection;
134
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”)
135
// <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(“…”);
136
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(
137
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)
138
.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);
139
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 “);
}
140
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);
141
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)
{
}
}
142
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”),
143
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;
}
144
}
} 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
}
145
146
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");
147
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();
148
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));
149
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)
150
.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)
151
.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");
152
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()
153
.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
{
154
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:
155
}
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() {
156
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
}
157
Now check your Train is added or not
158
Your Train has been added | Now Book a ticket
159
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.
160
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.
161
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.
162
Thanks
163