source code

49
Main Java : import java.awt.EventQueue; import javax.swing.JFrame; public class Main implements Runnable{ private final JFrame frame; public Main(JFrame frm){ this.frame=frm; }//constructor closed public void run(){ frame.setVisible(true); }//run method closed public static void main(String args[]){ new frmSplash(3000); EventQueue.invokeLater(new Main(new LoginScreen())); }//main method closed }//class closed Login Screen : import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

Upload: prasad

Post on 11-Nov-2014

54 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Source Code

Main Java :

import java.awt.EventQueue;

import javax.swing.JFrame;

public class Main implements Runnable{

private final JFrame frame;

public Main(JFrame frm){

this.frame=frm;

}//constructor closed

public void run(){

frame.setVisible(true);

}//run method closed

public static void main(String args[]){

new frmSplash(3000);

EventQueue.invokeLater(new Main(new LoginScreen()));

}//main method closed

}//class closed

Login Screen :

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.ResultSet;

Page 2: Source Code

import java.sql.Statement;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class LoginScreen extends JFrame {

private JLabel lblUsername, lblPasswd, lblCat;

public JTextField txtUser;

private JPasswordField txtPasswd;

private JButton btnLogin, btnCancel;

private JComboBox cmbCat;

private Connection con;

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

public LoginScreen() {

super("System Login");

this.getContentPane().setLayout(null);

this.setSize(370, 250);

this.setResizable(false);

Page 3: Source Code

this.setLocation((screen.width - 500) / 2, ((screen.height - 350) / 2));

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

lblUsername = new JLabel("Username");

lblPasswd = new JLabel("Password");

txtUser = new JTextField();

txtPasswd = new JPasswordField();

lblCat = new JLabel("Login As");

cmbCat = new JComboBox();

cmbCat.addItem("Manager");

cmbCat.addItem("Supervisor");

cmbCat.addItem("Booking Clerk");

btnLogin = new JButton("Login", new ImageIcon(ClassLoader.getSystemResource("images\\Login.png")));

btnCancel = new JButton("Cancel", new ImageIcon(ClassLoader.getSystemResource("images\\Cancel.png")));

lblUsername.setBounds(40, 30, 100, 25);

lblPasswd.setBounds(40, 65, 100, 25);

lblCat.setBounds(40, 100, 100, 25);

txtUser.setBounds(150, 30, 160, 25);

txtPasswd.setBounds(150, 65, 160, 25);

cmbCat.setBounds(150, 100, 160, 25);

btnLogin.setBounds(70, 150, 100, 25);

btnCancel.setBounds(190, 150, 100, 25);

lblUsername.setFont(new Font("monospaced", Font.BOLD, 16));

Page 4: Source Code

lblPasswd.setFont(new Font("monospaced", Font.BOLD, 16));

lblCat.setFont(new Font("monospaced", Font.BOLD, 16));

cmbCat.setFont(new Font("monospaced", Font.BOLD, 16));

txtUser.setFont(new Font("monospaced", Font.CENTER_BASELINE, 16));

txtPasswd.setFont(new Font("monospaced", Font.CENTER_BASELINE, 16));

this.add(lblUsername);

this.add(txtUser);

this.add(lblPasswd);

this.add(txtPasswd);

this.add(btnLogin);

this.add(btnCancel);

this.add(lblCat);

this.add(cmbCat);

this.add(btnLogin);

this.add(btnCancel);

ButtonListener listener = new ButtonListener();

btnLogin.addActionListener(listener);

btnCancel.addActionListener(listener);

con = DBConnection.getDBConnection();

if (con == null) {

JOptionPane.showMessageDialog(null, "Error on establishing database connection", "Error", JOptionPane.ERROR_MESSAGE);

this.dispose();

}

}//constructor closed

Page 5: Source Code

public void login() {

String username = txtUser.getText();

String password = txtPasswd.getText();

String SQL;

String category = cmbCat.getSelectedItem().toString();

SQL = "SELECT * FROM users WHERE username='" + username + "' AND password='" +

password + "'AND Category='" + category + "'";

try {

Statement stmt = con.createStatement();

stmt.execute(SQL);

ResultSet rs = stmt.getResultSet();

boolean recordfound = rs.next();

if (recordfound) {

LoadMDIWindow();

this.dispose();

} else {

JOptionPane.showMessageDialog(null, "The system could not log you in.\n" +

" Please make sure your username and password are correct", "Login Failure", JOptionPane.INFORMATION_MESSAGE);

txtUser.setText("");

txtPasswd.setText("");

txtUser.requestFocus();

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "Error on login operation", "Login Error", JOptionPane.ERROR_MESSAGE);

Page 6: Source Code

}//try catch closed

}//Login() closed

public void LoadMDIWindow() {

if (cmbCat.getSelectedItem().equals("Manager")) {

new MDIWindow().LoginManager();

} else if (cmbCat.getSelectedItem().equals("Supervisor")) {

new MDIWindow().LoginSupervisor();

} else {

new MDIWindow().LoginClerk();

}

}//LoginValidity() closed

private class ButtonListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == btnLogin) {

if (txtUser.getText() == null || txtUser.getText().equals("")) {

JOptionPane.showMessageDialog(null, "Enter username", "Missing field", JOptionPane.DEFAULT_OPTION);

txtUser.requestFocus();

return;

}

if (txtPasswd.getText() == null || txtPasswd.getText().equals("")) {

JOptionPane.showMessageDialog(null, "Enter password", "Missing field", JOptionPane.DEFAULT_OPTION);

txtPasswd.requestFocus();

Page 7: Source Code

return;

}

login();

} else if (e.getSource() == btnCancel) {

System.exit(0);

}//if else closed

}//actionPerformed() closed

}//ButtonListner class closed

}//LoginScreen class closed

Bus Details :

import java.sql.*;

import javax.swing.*;

import java.text.*;

import java.awt.*;

import java.awt.event.*;

class Bus_Details extends JInternalFrame {

public Container content;

public JPanel reportingPanel;

Page 8: Source Code

public JTabbedPane listsTabs;

public JTextArea listPane;

public JPanel reportPanel;

public static final int SET_SIZE = 0, PRINT = 1, CLOSE = 2;

public JPanel statusPanel;

public JComboBox graphTypesCombo;

public Color skyblue = new Color(150, 190, 255);

public final ImageIcon imageIcon = new ImageIcon(ClassLoader.getSystemResource("Images/appicon.png"));

private static Connection dbcon = null;

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

Statement stmt = null;

private JButton print, cancel;

private JPanel panel;

public Bus_Details() {

super("Buses Report", true, true, true, true);

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

content = getContentPane();

content.setBackground(skyblue);

listsTabs = new JTabbedPane();

print = new JButton("Print ", new ImageIcon(ClassLoader.getSystemResource("Images/print.png")));

cancel = new JButton("Cancel", new ImageIcon(ClassLoader.getSystemResource("Images/exit.png")));

panel = new JPanel();

Page 9: Source Code

panel.add(print);

panel.add(cancel);

reportingPanel = new JPanel();

reportingPanel.setLayout(new BorderLayout());

reportingPanel.setBorder(BorderFactory.createEtchedBorder());

reportingPanel.add(new JLabel("Bus Report"), BorderLayout.NORTH);

reportingPanel.add(panel, BorderLayout.SOUTH);

reportPanel = new JPanel();

reportPanel.setLayout(new GridLayout(1, 1));

reportPanel.setBorder(BorderFactory.createMatteBorder(4, 4, 4, 4, Color.blue));

reportPanel.setBackground(Color.white);

reportingPanel.add(new JScrollPane(reportPanel), BorderLayout.CENTER);

listsTabs.add(reportingPanel);

setLocation((screen.width - 1270) / 2, ((screen.height - 740) / 2));

setResizable(false);

listPane = new JTextArea() {

Image image = imageIcon.getImage();

{

setOpaque(false);

}

Page 10: Source Code

public void paint(Graphics g) {

super.paint(g);

}

};

listPane.setEditable(false);

listPane.setFont(new Font("Serif", Font.BOLD, 12));

listPane.setForeground(Color.black);

listPane.setLineWrap(true);

listPane.setWrapStyleWord(true);

reportPanel.add(listPane);

try {

Statement s = DBConnection.getDBConnection().createStatement();

} catch (Exception excp) {

excp.printStackTrace();

}

printList();

content.add(listsTabs, BorderLayout.CENTER);

cancel.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

Page 11: Source Code

dispose();

}

});

print.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(null, "Printer Not Found", "PRINT ERROR", JOptionPane.DEFAULT_OPTION);

}

});

setSize(1000, 720);

}//constructor closed

private void printList() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("select Bus_RegNo,Model,Capacity,insurance_Status,Insurance_Expiry from Buses");

listPane.append("\n");

listPane.append(" ");

listPane.append("Bus RegNo" + "\t\t" + "Model" + "\t\t" + "Capacity" + "\t\t" + "Insurance_Status\t" + "Expiry Date\n");

listPane.append("\n");

Page 12: Source Code

while (rst.next()) {

listPane.append(" ");

listPane.append(rst.getString(1).trim());

listPane.append("\t\t");

listPane.append(rst.getString(2).trim());

listPane.append("\t\t");

listPane.append(rst.getString(3).trim());

listPane.append("\t\t");

listPane.append(rst.getString(4).trim());

listPane.append("\t\t");

listPane.append(rst.getString(5).trim());

listPane.append("\n\n");

}

if (rst != null) {

rst.close();

}

} catch (SQLException sqle) {

JOptionPane.showMessageDialog(null, " No Records found" + sqle.getMessage());

return;

}

}

}//class closed

Page 13: Source Code

Booking :

import java.awt.*;

import java.text.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.sql.*;

import javax.swing.plaf.metal.*;

public class Booking extends JInternalFrame {

private JPanel contents, controls, general, pane;

private JLabel label, label1, label2, label3, label10, label4, label5, label6, label7, label8, label9;

private JTextField text1;

private JComboBox combo1, combo2, combo3, combo4, combo5, combo6, combo7, combo8, combo9;

private JButton button1, button2, button3, button4, button5, button6, button7, ok, next;

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

String bookNo, pasNo, passName, seatNo, busNo, dte, time, frm, to, amount;

private DateButton t_date;

public Booking() {

super("Booking Process",false,true,false,true);

Page 14: Source Code

label = new JLabel("Booking Number");

label1 = new JLabel("Passenger Number");

label2 = new JLabel("Passenger Name");

label3 = new JLabel("Seat Number");

label4 = new JLabel("Bus RegNo");

label5 = new JLabel("Date_of_Travel");

label6 = new JLabel("Time_of_Travel");

label7 = new JLabel("From");

label8 = new JLabel("Destination");

label9 = new JLabel("Amount Paid");

label10 = new JLabel("Select passenger route");

text1 = new JTextField(15);

t_date = new DateButton();

t_date.setForeground(Color.red);

combo1 = new JComboBox();

combo2 = new JComboBox();

combo3 = new JComboBox();

combo4 = new JComboBox();

combo5 = new JComboBox();

combo6 = new JComboBox();

combo7 = new JComboBox();

combo8 = new JComboBox();

combo9 = new JComboBox();

Page 15: Source Code

//combo7.addItem("Select");

for (int i = 1; i <= 45; i++) {

combo6.addItem(Integer.toString(i));

}

button1 = new JButton("Add New", new ImageIcon(ClassLoader.getSystemResource("Images/addnew.png")));

button3 = new JButton("Search", new ImageIcon(ClassLoader.getSystemResource("Images/search.png")));

button4 = new JButton("Cancel", new ImageIcon(ClassLoader.getSystemResource("Images/exit.png")));

button5 = new JButton("Clear", new ImageIcon(ClassLoader.getSystemResource("Images/clear.png")));

button6 = new JButton("Show Booked", new ImageIcon(ClassLoader.getSystemResource("Images/atten.png")));

button7 = new JButton("Print", new ImageIcon(ClassLoader.getSystemResource("Images/print.png")));

ok = new JButton("OK", new ImageIcon(ClassLoader.getSystemResource("Images/ok.png")));

next = new JButton("Next", new ImageIcon(ClassLoader.getSystemResource("Images/next.png")));

button1.setEnabled(false);

button5.setEnabled(false);

next.setEnabled(false);

text1.setEnabled(false);

contents = new JPanel(new GridLayout(10, 2));

contents.add(label);

contents.add(text1);

Page 16: Source Code

contents.add(label1);

contents.add(combo2);

contents.add(label2);

contents.add(combo3);

contents.add(label6);

contents.add(combo8);

contents.add(label4);

contents.add(combo1);

contents.add(label3);

contents.add(combo6);

contents.add(label5);

contents.add(t_date);

contents.add(label7);

contents.add(combo4);

contents.add(label8);

contents.add(combo5);

contents.add(label9);

contents.add(combo9);

label10.setForeground(Color.red);

pane = new JPanel();

pane.add(label10);

pane.add(combo7);

pane.add(ok);

Page 17: Source Code

controls = new JPanel(new GridLayout(3, 2));

controls.add(button1);

controls.add(button3);

controls.add(button4);

controls.add(button5);

controls.add(button6);

controls.add(button7);

general = new JPanel();

setLocation((screen.width - 500) / 2, ((screen.height - 350) / 2));

general.add(pane);

general.add(contents);

general.add(controls);

add(general);

setSize(550, 420);

setResizable(false);

try {

Statement s = DBConnection.getDBConnection().createStatement();

} catch (Exception excp) {

excp.printStackTrace();

Page 18: Source Code

}

passroute();

//setCbx();

generator();

setroute();

setCombo();

amount();

text1.addFocusListener(new FocusAdapter() {

public void focusLost(FocusEvent e) {

JTextField textField =

(JTextField) e.getSource();

String content = textField.getText();

if (content.length() != 0) {

try {

Integer.parseInt(content);

} catch (NumberFormatException nfe) {

getToolkit().beep();

JOptionPane.showMessageDialog(null, "Invalid data entry", "ERROR",

JOptionPane.DEFAULT_OPTION);

textField.requestFocus();

text1.setText("");

}

}

}

Page 19: Source Code

});

button1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

book();

}

});

button4.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

dispose();

}

});

ok.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (combo7.getSelectedItem() == null) {

JOptionPane.showMessageDialog(null, "Please note that you can't do\n" +

"booking before scheduling is done\n" +

"make sure you do the scheduling before booking starts", "ERROR",

JOptionPane.DEFAULT_OPTION);

Page 20: Source Code

return;

}

setCbx();

amount();

ok.setEnabled(false);

button1.setEnabled(true);

// button2.setEnabled(true);

button3.setEnabled(true);

button4.setEnabled(true);

button5.setEnabled(true);

//button6.setEnabled(true);

}

});

button6.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

Show_Booked frm= new Show_Booked();

MDIWindow.desktop.add(frm);

frm.setVisible(true);

try{

frm.setSelected(true);

}catch(Exception ex){}

}

Page 21: Source Code

});

button7.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

Booking_report frm= new Booking_report();

MDIWindow.desktop.add(frm);

frm.setVisible(true);

try{

frm.setSelected(true);

}catch(Exception ex){}

}

});

button5.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

}

});

combo2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

combo3.setSelectedIndex(combo2.getSelectedIndex());

}

});

combo3.addActionListener(new java.awt.event.ActionListener() {

Page 22: Source Code

public void actionPerformed(java.awt.event.ActionEvent e) {

combo2.setSelectedIndex(combo3.getSelectedIndex());

}

});

combo8.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

combo1.setSelectedIndex(combo8.getSelectedIndex());

}

});

combo7.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

combo1.removeAllItems();

combo8.removeAllItems();

combo9.removeAllItems();

ok.setEnabled(true);

button1.setEnabled(false);

button3.setEnabled(false);

button5.setEnabled(false);

}

Page 23: Source Code

});

button3.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

text1.setEnabled(true);

try {

if (!text1.equals("")) {

Statement statement = DBConnection.getDBConnection().createStatement();

String query = "SELECT * FROM BOOKING " +

"WHERE Booking_No= " + text1.getText();

ResultSet rs = statement.executeQuery(query);

display(rs);

statement.close();

}

} catch (SQLException sqlex) {

sqlex.printStackTrace();

}

setVisible(true);

Page 24: Source Code

}

});

}

private void setCbx() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Bus_RegNo,Dept_Time From Schedules where Route_Name='" + combo7.getSelectedItem() + "'");

while (rst.next()) {

combo1.addItem(rst.getString(1));

combo8.addItem(rst.getString(2));

}

} catch (Exception n) {

n.printStackTrace();

}

}

private void setCombo() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

Page 25: Source Code

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Pass_No,Pass_Name FROM Passenger where Booked_Status='Not_Booked'");

while (rst.next()) {

combo2.addItem(rst.getString(1));

combo3.addItem(rst.getString(2));

}

} catch (Exception n) {

n.printStackTrace();

}

}

private void amount() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Fare_Charged FROM Route where RouteName='" + combo7.getSelectedItem() + "'");

while (rst.next()) {

combo9.addItem(rst.getString(1));

}

} catch (Exception n) {

n.printStackTrace();

}

Page 26: Source Code

}

private void passroute() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Route_Name FROM Schedules");

while (rst.next()) {

combo7.addItem(rst.getString(1));

}

} catch (Exception n) {

n.printStackTrace();

}

}

private void setroute() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Depot,Destination FROM Route");

while (rst.next()) {

Page 27: Source Code

combo4.addItem(rst.getString(1));

combo5.addItem(rst.getString(2));

}

} catch (Exception n) {

n.printStackTrace();

}

}

public void display(ResultSet rs) {

try {

boolean recordNumber = rs.next();

if (recordNumber) {

bookNo = rs.getString(1);

pasNo = rs.getString(2);

passName = rs.getString(3);

busNo = rs.getString(4);

seatNo = rs.getString(5);

dte = rs.getString(6);

time = rs.getString(7);

frm = rs.getString(8);

to = rs.getString(9);

amount = rs.getString(10);

text1.setText(bookNo);

Page 28: Source Code

combo2.setSelectedItem(pasNo);

combo3.setSelectedItem(passName);

combo1.setSelectedItem(busNo);

combo6.setSelectedItem(seatNo);

t_date.setText(dte);

combo8.setSelectedItem(time);

combo4.setSelectedItem(frm);

combo5.setSelectedItem(to);

combo9.setSelectedItem(amount);

} else {

JOptionPane.showMessageDialog(null, "Record Not found", "ERROR",

JOptionPane.DEFAULT_OPTION);

}

} catch (SQLException sqlex) {

sqlex.printStackTrace();

}

}

private void book() {

String SQL;

SQL = "SELECT * FROM BOOKING WHERE SeatNo='" + combo6.getSelectedItem() + "' AND Bus_RegNo='" + combo1.getSelectedItem() + "'AND Date_of_Travel='" + t_date.getText() + "'";

Page 29: Source Code

try {

Statement st = DBConnection.getDBConnection().createStatement();

st.execute(SQL);

ResultSet rs = st.getResultSet();

boolean recordfound = rs.next();

if (recordfound) {

JOptionPane.showMessageDialog(null, "Error Occures.Pliz Compare your Entry and\n" +

"the already booked and try again", "Error", JOptionPane.INFORMATION_MESSAGE);

//new Show_Booked().setVisible(true);

return;

} else {

if (text1.getText() == null ||

text1.getText().equals("")) {

JOptionPane.showMessageDialog(null, "Enter Passenger Number", "ERROR",

JOptionPane.DEFAULT_OPTION);

text1.requestFocus();

return;

}

if (combo7.getSelectedItem() == null) {

JOptionPane.showMessageDialog(null, "Please note that you can't do\n" +

"booking before scheduling is done", "ERROR",

Page 30: Source Code

JOptionPane.DEFAULT_OPTION);

return;

}

try {

Statement statement = DBConnection.getDBConnection().createStatement();

{

String temp = "INSERT INTO BOOKING(Booking_No,Pass_No,PassName,Bus_RegNo,SeatNo,Date_of_Travel,Time_of_Travel,Pass_From,Destination,Amount) VALUES ('" +

text1.getText() + "', '" +

combo2.getSelectedItem() + "', '" +

combo3.getSelectedItem() + "', '" +

combo1.getSelectedItem() + "', '" +

combo6.getSelectedItem() + "', '" +

t_date.getText() + "', '" +

combo8.getSelectedItem() + "', '" +

combo4.getSelectedItem() + "', '" +

combo5.getSelectedItem() + "', '" +

combo9.getSelectedItem() + "')";

int result = statement.executeUpdate(temp);

String ObjButtons[] = {"Yes", "No"};

int PromptResult = JOptionPane.showOptionDialog(null, "Record succesfully added.Continue with Booking?",

Page 31: Source Code

"tobiluoch", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, ObjButtons, ObjButtons[1]);

if (PromptResult == 0) {

generator();

} else {

setVisible(false);

}

}

} catch (Exception sqlex) {

sqlex.printStackTrace();

}

}

} catch (Exception ex) {

ex.printStackTrace();

}

try {

Statement statement = DBConnection.getDBConnection().createStatement();

{

Page 32: Source Code

String temp = "UPDATE Passenger SET Booked_Status='Booked'" +

"WHERE Pass_NO LIKE '" + combo2.getSelectedItem() + "'";

int result = statement.executeUpdate(temp);

}

} catch (SQLException sqlex) {

sqlex.printStackTrace();

}

}

private void generator() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Booking_No FROM BOOKING");

//if (rst.getInt(1)==null)

text1.setText("1000");

while (rst.next()) {

String s;

int number = rst.getInt(1);

number = number + 1;

Page 33: Source Code

s = "" + number;

text1.setText(s);

}

} catch (Exception n) {

n.printStackTrace();

}

}

}

Page 34: Source Code

Add Passenger :

import java.awt.*;

import java.text.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.sql.*;

import javax.swing.plaf.metal.*;

public class AddPassenger extends JInternalFrame {

private JLabel label1, label2, label3, label4, label5, label6, label7, label8;

private JTextField text1, text2, text3, text4, text6;

private JButton button1, button2, button3, button4;

private JPanel panel1, panel2, panel3;

private JComboBox combo1, combo2;

private DateButton dob;

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

public AddPassenger() {

super("Passenger Details", false, true, false, true);

label1 = new JLabel("Passenger Number");

label2 = new JLabel("Passenger Name");

label3 = new JLabel("Address");

Page 35: Source Code

label4 = new JLabel("Telephone Number");

label5 = new JLabel("Date_of_Travel");

label6 = new JLabel("From");

label7 = new JLabel("To");

//label8=new JLabel("Amount Paid");

text1 = new JTextField(10);

text2 = new JTextField(10);

text3 = new JTextField(10);

text4 = new JTextField(10);

text6 = new JTextField(10);

dob = new DateButton();

dob.setForeground(Color.red);

combo1 = new JComboBox();

combo2 = new JComboBox();

setCbx();

button1 = new JButton("Add New", new ImageIcon(ClassLoader.getSystemResource("Images/addnew.png")));

button2 = new JButton("Cancel", new ImageIcon(ClassLoader.getSystemResource("Images/exit.png")));

button3 = new JButton("Clear", new ImageIcon(ClassLoader.getSystemResource("Images/clear.png")));

panel1 = new JPanel(new GridLayout(7, 2));

panel1.setPreferredSize(new Dimension(350, 250));

panel1.add(label1);

Page 36: Source Code

panel1.add(text1);

panel1.add(label2);

panel1.add(text2);

panel1.add(label3);

panel1.add(text3);

panel1.add(label4);

panel1.add(text4);

panel1.add(label5);

panel1.add(dob);

panel1.add(label6);

panel1.add(combo1);

panel1.add(label7);

panel1.add(combo2);

//panel1.add(label8);panel1.add(text6);

panel2 = new JPanel();

panel2.add(button1);

panel2.add(button2);

panel2.add(button3);

panel3 = new JPanel();

panel3.setPreferredSize(new Dimension(550, 400));

panel3.add(panel1);

panel3.add(panel2);

Page 37: Source Code

add(panel3);

setSize(500, 350);

setLocation((screen.width - 500) / 2, ((screen.height - 350) / 2));

generator();

text1.addFocusListener(new FocusAdapter() {

public void focusLost(FocusEvent e) {

JTextField textField =

(JTextField) e.getSource();

String content = textField.getText();

if (content.length() != 0) {

try {

Integer.parseInt(content);

} catch (NumberFormatException nfe) {

getToolkit().beep();

JOptionPane.showMessageDialog(null, "Invalid data entry", "Error", JOptionPane.DEFAULT_OPTION);

textField.requestFocus();

text1.setText("");

}

}

}

});

text2.addKeyListener(new KeyAdapter() {

Page 38: Source Code

public void keyTyped(KeyEvent e) {

char c = e.getKeyChar();

if (!(Character.isLetter(c) ||

(c == KeyEvent.VK_BACK_SPACE) ||

(c == KeyEvent.VK_SPACE) ||

(c == KeyEvent.VK_DELETE))) {

getToolkit().beep();

JOptionPane.showMessageDialog(null, "This Field Only acept text", "Error", JOptionPane.DEFAULT_OPTION);

e.consume();

}

}

});

text4.addFocusListener(new FocusAdapter() {

public void focusLost(FocusEvent e) {

JTextField textField =

(JTextField) e.getSource();

String content = textField.getText();

if (content.length() != 0) {

try {

Integer.parseInt(content);

} catch (NumberFormatException nfe) {

Page 39: Source Code

getToolkit().beep();

JOptionPane.showMessageDialog(null, "Invalid data entry", "Error",

JOptionPane.DEFAULT_OPTION);

textField.requestFocus();

text4.setText("");

}

}

}

});

button1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

if (text1.getText() == null ||

text1.getText().equals("")) {

JOptionPane.showMessageDialog(null, "Enter Passenger number", "Error", JOptionPane.DEFAULT_OPTION);

text1.requestFocus();

return;

}

if (text2.getText() == null ||

text2.getText().equals("")) {

JOptionPane.showMessageDialog(null, "Enter passenger name", "Error",

JOptionPane.DEFAULT_OPTION);

text2.requestFocus();

Page 40: Source Code

return;

}

if (text3.getText() == null ||

text3.getText().equals("")) {

JOptionPane.showMessageDialog(null, "Address Field is required", "Error",

JOptionPane.DEFAULT_OPTION);

text3.requestFocus();

return;

}

if (text4.getText() == null ||

text4.getText().equals("")) {

JOptionPane.showMessageDialog(null, "Enter telephone number", "Error",

JOptionPane.DEFAULT_OPTION);

text4.requestFocus();

return;

}

try {

Statement statement = DBConnection.getDBConnection().createStatement();

{

String temp = "INSERT INTO Passenger(Pass_No, Pass_Name, Address, Tel_No, Date_of_Travel,Depot,To) VALUES ('" +

text1.getText() + "', '" +

text2.getText() + "', '" +

Page 41: Source Code

text3.getText() + "', '" +

text4.getText() + "', '" +

dob.getText() + "', '" +

combo1.getSelectedItem() + "', '" +

combo2.getSelectedItem() + "')";

int result = statement.executeUpdate(temp);

String ObjButtons[] = {"Yes", "No"};

int PromptResult = JOptionPane.showOptionDialog(null, "Record succesfully added.Do you want to add another?",

"Success", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, ObjButtons, ObjButtons[1]);

if (PromptResult == 0) {

generator();

text2.setText("");

text3.setText("");

text4.setText("");

} else {

setVisible(false);

}

}

} catch (SQLException sqlex) {

sqlex.printStackTrace();

}

}

Page 42: Source Code

});

button2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

dispose();

}

});

button3.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

text1.setText("");

text2.setText("");

text3.setText("");

text4.setText("");

}

});

}

private void setCbx() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Depot,Destination FROM Route");

while (rst.next()) {

Page 43: Source Code

combo1.addItem(rst.getString(1));

combo2.addItem(rst.getString(2));

}

} catch (Exception n) {

n.printStackTrace();

}

}

private void generator() {

try {

ResultSet rst = DBConnection.getDBConnection().createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery("SELECT Pass_No FROM Passenger");

while (rst.next()) //text1.setText("1000");

{

String s;

int number = rst.getInt(1);

number = number + 1;

s = "" + number;

text1.setText(s);

}

Page 44: Source Code

} catch (Exception n) {

n.printStackTrace();

}

}

}