java

76
CE00396-1-Object Oriented & Event Driven Programming Assignment Page 1 of 76 __________________________________________________________________________________ Level 1 Asia Pacific Institute of Information Technology 2015 TABLE OF CONTENTS INTRODUCTION............................................................................................................................................ 2 UML DIAGRAM ............................................................................................................................................ 2 (CLASS DIAGRAM) ........................................................................................................................................ 3 USE CASE DIAGRAMS:- ................................................................................................................................. 8 ACTIVITY DIAGRAM...................................................................................................................................... 9 SEQUENCE DIAGRAM ................................................................................................................................. 10 SOURCE CODES OF PROGRAMS:- ................................................................................................................ 11 SAMPLE OUTPUTS AND EXPLANATIONS ..................................................................................................... 71 ADDITIONAL FEATURES .............................................................................................................................. 75 ASSUMPTIONS ........................................................................................................................................... 76 REFERENCES............................................................................................................................................... 76

Upload: shubham-ranjan

Post on 18-Aug-2015

34 views

Category:

Engineering


1 download

TRANSCRIPT

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 1 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

TABLE OF CONTENTS

INTRODUCTION............................................................................................................................................ 2

UML DIAGRAM ............................................................................................................................................ 2

(CLASS DIAGRAM) ........................................................................................................................................ 3

USE CASE DIAGRAMS:- ................................................................................................................................. 8

ACTIVITY DIAGRAM ...................................................................................................................................... 9

SEQUENCE DIAGRAM ................................................................................................................................. 10

SOURCE CODES OF PROGRAMS:- ................................................................................................................ 11

SAMPLE OUTPUTS AND EXPLANATIONS ..................................................................................................... 71

ADDITIONAL FEATURES .............................................................................................................................. 75

ASSUMPTIONS ........................................................................................................................................... 76

REFERENCES ............................................................................................................................................... 76

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 2 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

INTRODUCTION

Java is a general purpose, object-oriented programming is. Java, TV sets, consumer

electronics, within the framework of a research, VCRs, toasters machines you can buy in

a store is designed to develop other types of software. Java (Java 1.0), the first public

release of a version of the Java language and the release to establish libraries, meanwhile,

was published in 1995.Coming to the assignment, we are required to develop an

application i.e. prisoner management system which would be helpful for warden and police

to use application and can find details of the prisoner using Java as a programming

language. In this project we had created different forms to update and retrieve the data

from the database. In this project we had created a main menu form where, the entire

management system is controlled by the administrator. In this menu form we had

provided links to other forms to add, search, update, delete, and view all details of the

prisoner, wardens. (Tata McGraw-Hill, 2007)

UML DIAGRAM

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 3 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

(Class Diagram) Login page

Home page of prison management system:-

Prisoner add page:-

MyFrame1

~f: JFrame~ok: JButton~cancel: JButton~lblLogin: JLabel~lblpassword: JLabel~r: JLabel~txtusername: JTextField~txtpassword: JTextField

<<create>>~MyFrame1()+init()+main(args: String)+actionPerformed(e: ActionEvent)

MyFrame2

~menuadd_prisoner: JMenuItem~menuupdate_prisoner: JMenuItem~menuadd_warden: JMenuItem~menuupdate_warden: JMenuItem~menudisplaypriso: JMenuItem~menudisplaywarden: JMenuItem~menulogout: JMenuItem+pnladd: JPanel+pnlupdate: JPanel+prisoner: JLabel~f: JFrame

+menu()+main(args: String)+actionPerformed(e: ActionEvent)

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 4 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Prisoner update page:-

Prisoner

~f: JFrame~btnadd: JButton~btncncl: JButton~btnclr: JButton~lblid: JLabel~lblname: JLabel~lbladdress: JLabel~lbldoc: JLabel~lblcrime_desc: JLabel~lbldate_prison: JLabel~lbldate_rel: JLabel~r: JLabel~txtid: JTextField~txtname: JTextField~txtaddress: JTextField~txtdoc: JTextField~txtcrime_desc: JTextField~txtdate_prison: JTextField~txtdate_rel: JTextField-id: String-name: String-address: String-date_of_crime: String-crime_description: String-date_of_prisonment: String-date_of_release: String

+details()+main(args: String)+actionPerformed(e: ActionEvent)~add()

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 5 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Prisoner1

~f: JFrame~btnfind: JButton~btnrel: JButton~btndel: JButton~btnupdate: JButton~btnclr: JButton~lblid: JLabel~lblname: JLabel~lblcrime_desc: JLabel~r: JLabel~txtid: JTextField~txtname: JTextField~txtcrime_desc: JTextField-id: String-name: String-address: String-date_of_crime: String-crime_description: String-date_of_prisonment: String-date_of_release: String-status: String

+init()+main(args: String)+actionPerformed(e: ActionEvent)~Find(id: int): boolean~delete(id: int)~Update()

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 6 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Warden page of add and update:-

Wardens_add

~f: JFrame~btnadd: JButton~btncncl: JButton~btnclr: JButton~lblid: JLabel~lblname: JLabel~lbladdress: JLabel~lblwarden_rank: JLabel~lblyr_join: JLabel~lblretire: JLabel~r: JLabel~txtid: JTextField~txtname: JTextField~txtaddress: JTextField~txtwarden_rank: JTextField~txtyr_join: JTextField~txtwarden_retire: JTextField-id: String-name: String-address: String-warden_rank: String-warden_year: String-warden_retire: String

+information()+main(args: String)+actionPerformed(e: ActionEvent)~add()

Warden_details

~f: JFrame~btnfind: JButton~btndel: JButton~btnupdate: JButton~btnclr: JButton~btncncl: JButton~lbl_id: JLabel~lblname: JLabel~lbladdress: JLabel~lblwarden_rank: JLabel~lblyr_warden: JLabel~lblretire: JLabel~r: JLabel~txtid: JTextField~txtname: JTextField~txtaddress: JTextField~txtwarden_rank: JTextField~txtwarden_year: JTextField~txtwarden_retire: JTextField-id: String-name: String-address: String-warden_rank: String-warden_year: String-warden_retire: String

+init()+main(args: String)+actionPerformed(e: ActionEvent)~Find(id: int): boolean~delete(id: int)~Update()

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 7 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Reports of prisoner and warden page:-

Report2

-flag: boolean = true~lstrpt: List

<<create>>+Report2()+itemStateChanged(e: ItemEvent)+windowOpened(e: WindowEvent)+windowClosing(e: WindowEvent)+windowClosed(e: WindowEvent)+windowIconified(e: WindowEvent)+windowDeiconified(e: WindowEvent)+windowActivated(e: WindowEvent)+windowDeactivated(e: WindowEvent)+main(args: String)

Report1

-flag: boolean = true~lstrpt: List

<<create>>+Report1()+itemStateChanged(e: ItemEvent)+windowOpened(e: WindowEvent)+windowClosing(e: WindowEvent)+windowClosed(e: WindowEvent)+windowIconified(e: WindowEvent)+windowDeiconified(e: WindowEvent)+windowActivated(e: WindowEvent)+windowDeactivated(e: WindowEvent)+main(args: String)

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 8 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Use Case Diagrams:-

PMS

Login

Admin

PMS

Prisoner Warden

Reports

Add

Update Prisonerdetails

Add

Update Wardendetails

Display allprisoners

Display all wardens

Logout

<<includes>>

<<includes>> <<includes>>

<<includes>>

<<includes>>

<<includes>><<includes>>

<<includes>>

«extends»

«extends»

<<includes>>

Find

«extends»

Release«extends»

Delete

«extends»

Update

<<includes>>

Find

<<includes>>

Cancel Clear

«extends»

Delete

«extends»

Update

<<includes>>

«extends»

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 9 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Activity diagram

Login

Prisoner

[Username Or Password]

PMS

Warden Reports

Add Prisoner Update Prisoner

ADD

CANCEL

CLEAR

Find

Update

Release

Delete

Add Warden Update Warden

ADD

CLEAR

CANCEL

Find

Update

CLEAR

Delete

Display All Prisoners Display All Wardens

CLEAR CANCEL

Logout

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 10 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Sequence diagram

PMS Login Add Find Update Delete Release Database

Username

Add prisoner

Find Prisoner

Prisoner Details

Prisoner Details

Update Prisoner All Fill Up Details Update

Delete Prisoner All Details Delete

Release Prisoner

ADD PRISONER

FIND PRISONER

UPDATE PRISONER

DELETE PRISONER

Password

Add Prisoner Details on DatabaseAdd prisoner details

Search detailsFill the Prisoner data

All Changed detailsUpdates prisoner details

Deletes the informationDelete entire Details of Prisoner

status changedRELEASE PRISONER

Add Warden

Add Warden Details

Add The all Warden Details

Provides all detailsADD WARDEN

Find Warden

Find Warden Details

Finds The Warden Details

Find the warden details from database

Update Warden

Updates The Warden Details

Updates The Warden Details

Updates all the details on Data Base

FIND WARDEN

UPDATE WARDEN

Prisoner Releases

All Status Changes

Delete Warden

Delete entire details Of Warden

Delete Warden Details

Delete all The Warden Details On Data Base DELETE WARDEN

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 11 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

SOURCE CODES OF PROGRAMS:-

i) Login Page:

/** Importing in order to use the predefined methods and classes*/

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

/** Creating a class MyFrame1 and implementing the interface ActionListener */

class MyFrame1 implements ActionListener

{

/** Declaring the variables*/

/** Declaring the JFrame variable f*/

JFrame f;

JButton ok,cancel;

JLabel lblLogin,lblpassword,r;

JTextField txtusername,txtpassword;

/** Constructor Creation */

MyFrame1() /** Creates new form MyFrame1 */

{

f=new JFrame();

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 12 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

r=new JLabel("LOGIN DETAILS");

r.setForeground(Color.YELLOW);

r.setBounds(510,85,480,55);

f.add(r);

/** Making the frame maximized*/

f.setSize(1580,1250);

Font t=new Font("Dialog",Font.BOLD,55);

r.setFont(t);

/**Object Creation*/

lblLogin=new JLabel("USERNAME");

lblLogin.setForeground(Color.GREEN);

lblLogin.setBounds(100,270,200,20);

f.add(lblLogin);

Font k=new Font("Dialog",Font.BOLD,25);

lblLogin.setFont(k);

lblpassword=new JLabel("PASSWORD");

lblpassword.setForeground(Color.GREEN);

lblpassword.setBounds(100,330,225,50);

f.add(lblpassword);

Font p=new Font("Dialog",Font.BOLD,25);

lblpassword.setFont(p);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 13 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

txtusername=new JTextField(10);

txtusername.setBounds(280,265,180,30);

f.add(txtusername);

txtpassword=new JPasswordField(10);

txtpassword.setBounds(280,340,180,30);

f.add(txtpassword);

ok=new JButton("OK");

cancel=new JButton("CANCEL");

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

/** Defining the method init*/

public void init()

{

ok.setBounds(105,440,160,25);

ok.addActionListener(this);

f.add(ok);

cancel.setBounds(300,440,160,25);

cancel.addActionListener(this);

f.add(cancel);

JLabel image_back=new JLabel("");

image_back.setIcon(new ImageIcon("login.jpg"));

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 14 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.add(image_back);

image_back.setBounds (1,0,1700,700);

f.setLayout(null);

/**Making the Frame visible*/

f.setVisible(true);

}

/** Main Method*/

public static void main(String args[])

{

MyFrame1 f=new MyFrame1();

f.init();

}

/** Providing the implementation of the method of the Interface*/

public void actionPerformed(ActionEvent e)

{

JButton bt=(JButton)e.getSource();

String str=bt.getLabel();

if(str.equals("CANCEL"))

System.exit(0);

else if(str.equals("OK")){

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 15 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

String txtid1=txtusername.getText();

String txtname1=txtpassword.getText();

if (( txtid1.equals(""))||(txtname1.equals("")) )

{

JOptionPane.showMessageDialog(null,"Text field is empty ");

//Validation to check empty or not

}

else if

(e.getSource()==ok)

{

MyFrame2 f=new MyFrame2();

f.menu();

}

}

}

}

ii) Home Page (PMS):-

/** Importing in order to use the predefined methods and classes*/

import java.awt.*;

import java.awt.event.*;

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 16 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

import javax.swing.*;

/** Creating a class MyFrame2 and implementing the interface ActionListener*/

class MyFrame2 extends JFrame implements ActionListener

{

/** Declaring the variables*/

JMenuItem menuadd_prisoner, menuupdate_prisoner,menuadd_warden,

menuupdate_warden,menudisplaypriso,menudisplaywarden,menulogout;

public JPanel pnladd, pnlupdate;

public JLabel prisoner;

/** Declaring the JFrame variable f*/

JFrame f;

/** Constructor Creation */

public void menu()

{

f=new JFrame();

f.setTitle("PRISON MANAGEMENT SYSTEM");

prisoner=new JLabel("PRISONER MANAGEMENT SYSTEM");

prisoner.setForeground(Color.GREEN);

prisoner.setBounds(11,85,1550,60);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 17 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.add(prisoner);

Font t=new Font("Dialog",Font.BOLD,80);

prisoner.setFont(t);

f.setSize(1580,1250);

f.setLocation(100,100);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JMenuBar menubar=new JMenuBar();

f.setJMenuBar(menubar);

JMenu filemenu =new JMenu("Prisoner");

menubar.add(filemenu);

menuadd_prisoner = new JMenuItem("Add");

menuupdate_prisoner= new JMenuItem("Update");

menuadd_prisoner.add(new JSeparator());

menuupdate_prisoner.add(new JSeparator());

JMenu filemenu1 =new JMenu("Warden");

menubar.add(filemenu1);

menuadd_warden = new JMenuItem("Add");

menuupdate_warden= new JMenuItem("Update");

menuadd_warden.add(new JSeparator());

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 18 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

menuupdate_warden.add(new JSeparator());

filemenu.add(menuadd_prisoner);

menuadd_prisoner.addActionListener(this);

filemenu.add(menuupdate_prisoner);

menuupdate_prisoner.addActionListener(this);

filemenu1.add(menuadd_warden);

menuadd_warden.addActionListener(this);

filemenu1.add(menuupdate_warden);

menuupdate_warden.addActionListener(this);

JMenu filemenu2 =new JMenu("Reports");

menubar.add(filemenu2);

menudisplaypriso=new JMenuItem("Display the prisoner");

menudisplaywarden=new JMenuItem("Display the warden");

menudisplaypriso.add(new JSeparator());

menudisplaywarden.add(new JSeparator());

filemenu2.add(menudisplaypriso);

menudisplaypriso.addActionListener(this);

filemenu2.add(menudisplaywarden);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 19 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

menudisplaywarden.addActionListener(this);

JMenu filemenu3 =new JMenu("Logout");

menubar.add(filemenu3);

menulogout=new JMenuItem("Logout completely");

filemenu3.add(menulogout);

menulogout.addActionListener(this);

/**Adding backgroung image*/

JLabel image_back=new JLabel("");

image_back.setIcon(new ImageIcon("prison.jpg"));

f.add(image_back);

image_back.setBounds (40,0,1700,700);

f.setLayout(null);

/**Making the Frame visible*/

f.setVisible(true);

}

/** Main Method*/

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 20 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

public static void main(String args[])

{

MyFrame2 f=new MyFrame2();

f.menu();

}

public void actionPerformed(ActionEvent e)

{

/** Methods are called on the basis of the click of the menuitem*/

if (e.getSource()==menuadd_prisoner)

{

Prisoner f1=new Prisoner();

f1.details();

}

else if (e.getSource()==menuupdate_prisoner)

{

Prisoner1 f=new Prisoner1();

f.init();

}

else if (e.getSource()==menuadd_warden)

{

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 21 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Wardens_add f=new Wardens_add();

f.information();

}

else if (e.getSource()==menuupdate_warden)

{

Warden_details f=new Warden_details();

f.init();

}

else if (e.getSource()==menudisplaypriso)

{

Report1 r=new Report1();

}

else if (e.getSource()==menudisplaywarden)

{

Report2 r=new Report2();

}

else if (e.getSource()==menulogout)

{

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 22 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

MyFrame1 f1=new MyFrame1();

f1.init();

f.setVisible(false);

}

}

}

iii) Prisoner page (For adding a Prisoner):

/** Importing in order to use the predefined methods and classes*/

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

import java.sql.*;

/** Creating a class Prisoner and implementing the interface ActionListener*/

public class Prisoner implements ActionListener

{

/** Declaring the variables*/

/** Declaring the JFrame variable f*/

JFrame f;

JButton btnadd,btncncl,btnclr;

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 23 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

JLabel lblid,lblname,lbladdress,lbldoc,lblcrime_desc,lbldate_prison,lbldate_rel,r;

JTextField txtid,txtname,txtaddress,txtdoc,txtcrime_desc,txtdate_prison,txtdate_rel;

private String id,name,address,date_of_crime, crime_description, date_of_prisonment,

date_of_release;

/** Constructor Creation */

public void details()

{

f=new JFrame();

r=new JLabel("PRISONER DETAILS");

r.setBounds(390,75,800,65);

f.add(r);

Font t=new Font("Showcard Gothic",Font.BOLD,65);

r.setFont(t);

/**Object Creation*/

lblid=new JLabel(" Prisoner Id.");

lblid.setBounds(100,170,200,20);

f.add(lblid);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 24 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Font k=new Font("Dialog",Font.BOLD,25);

lblid.setFont(k);

lblname=new JLabel("NAME");

lblname.setBounds(100,230,225,50);

f.add(lblname);

Font p=new Font("Dialog",Font.BOLD,25);

lblname.setFont(p);

lbladdress=new JLabel("Address");

lbladdress.setBounds(100,300,225,50);

f.add(lbladdress);

Font a=new Font("Dialog",Font.BOLD,25);

lbladdress.setFont(a);

lbldoc=new JLabel("Date of crime");

lbldoc.setBounds(100,370,225,50);

f.add(lbldoc);

Font q=new Font("Dialog",Font.BOLD,25);

lbldoc.setFont(q);

lblcrime_desc=new JLabel("Crime Description");

lblcrime_desc.setBounds(100,440,225,50);

f.add(lblcrime_desc);

Font x=new Font("Dialog",Font.BOLD,25);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 25 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

lblcrime_desc.setFont(x);

lbldate_prison=new JLabel("Date of prisonment");

lbldate_prison.setBounds(100,540,225,50);

f.add(lbldate_prison);

Font w=new Font("Dialog",Font.BOLD,25);

lbldate_prison.setFont(w);

lbldate_rel=new JLabel("Date of Release");

lbldate_rel.setBounds(100,580,225,50);

f.add(lbldate_rel);

Font y=new Font("Dialog",Font.BOLD,25);

lbldate_rel.setFont(y);

txtid=new JTextField(10);

txtid.setBounds(280,170,299,30);

f.add(txtid);

txtname=new JTextField(10);

txtname.setBounds(280,239,299,30);

f.add(txtname);

txtaddress=new JTextField(10);

txtaddress.setBounds(280,310,299,30);

f.add(txtaddress);

txtdoc=new JTextField(10);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 26 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

txtdoc.setBounds(280,380,299,30);

f.add(txtdoc);

txtcrime_desc=new JTextField(10);

txtcrime_desc.setBounds(324,430,299,110);

f.add(txtcrime_desc);

txtdate_prison=new JTextField(10);

txtdate_prison.setBounds(360,550,299,30);

f.add(txtdate_prison);

txtdate_rel=new JTextField(10);

txtdate_rel.setBounds(360,594,299,30);

f.add(txtdate_rel);

btnadd=new JButton("ADD");

btnadd.setBounds(105,658,120,35);

f.add(btnadd);

btnadd.addActionListener(this);

btncncl=new JButton("CANCEL");

btncncl.setBounds(280,658,120,35);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 27 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.add(btncncl);

btncncl.addActionListener(this);

btnclr=new JButton("CLEAR");

btnclr.setBounds(435,658,120,35);

f.add(btnclr);

btnclr.addActionListener(this);

/** Making the frame maximized*/

f.setSize(1200,900);

f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

f.setLayout(null);

/**Making the Frame visible*/

f.setVisible(true);

}

/** Main Method*/

public static void main(String args[])

{

Prisoner f=new Prisoner();

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 28 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.details();

}

/** Providing the implementation of the method of the Interface*/

public void actionPerformed(ActionEvent e)

{

name=txtname.getText();

address=txtaddress.getText();

date_of_crime=txtdoc.getText();

id=txtid.getText();

crime_description=txtcrime_desc.getText();

date_of_prisonment=txtdate_prison.getText();

date_of_release=txtdate_rel.getText();

JButton b=(JButton)e.getSource();

String str=b.getLabel();

if(str.equals("CLEAR")){

txtid.setText("");

txtname.setText("");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 29 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

txtaddress.setText("");

txtdoc.setText("");

txtcrime_desc.setText("");

txtdate_prison.setText("");

txtdate_rel.setText("");

}else if(str.equals("CANCEL")){

f.dispose();

}else if(str.equals("ADD")){

String txtid1=txtid.getText();

String txtname2=txtname.getText();

String txtaddress3=txtaddress.getText();

String txtdoc4=txtdoc.getText();

String txtcrime_desc5=txtcrime_desc.getText();

String txtdate_prison6=txtdate_prison.getText();

String txtdate_rel7=txtdate_rel.getText();

add();

if((txtid1.equals(""))||(txtname2.equals(""))||(txtaddress3.equals(""))||(txtdoc4.equals(""))||(txtcrim

e_desc5.equals(""))||(txtdate_prison6.equals(""))||(txtdate_rel7.equals("")))

JOptionPane.showMessageDialog(null, "Text field is empty");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 30 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

else

JOptionPane.showMessageDialog(null, "Prisoner details added

successfully");

}}

void add(){ //Adding details to the database

try{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

//Connection connect = DriverManager.getConnection("jdbc:odbc:employee");

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

String sql = "insert into prisoner_details

(id,name,address,date_of_crime,crime_description,date_of_prisonment,date_of_release ) values

('" + id + "','" + name + "','" + address + "','" + date_of_crime + "','" + crime_description +"','"

+date_of_prisonment + "','" + date_of_release +"')";

state.execute(sql);

// JOptionPane.showMessageDialog(null, "Record added Successfully");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 31 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

System.out.println("Statement executed successfully");

state.close();

connect.close();

}

catch (Exception e) {

System.out.print(e);

}

}

}

iv) Prisoner page (For updating details of a Prisoner):

/** Importing in order to use the predefined methods and classes*/

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

/** Creating a class Prisoner and implementing the interface ActionListener*/

class Prisoner1 implements ActionListener

{

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 32 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

/** Declaring the variables*/

/** Declaring the JFrame variable f*/

JFrame f;

JButton btnfind,btnrel,btndel,btnupdate,btnclr;

JLabel lblid,lblname,lblcrime_desc,r;

JTextField txtid,txtname,txtcrime_desc;

private String id,name,address,date_of_crime,crime_description, date_of_prisonment,

date_of_release,status;

/** Constructor Creation */

public void init()

{

f=new JFrame();

r=new JLabel("UPDATE PRISONER DETAILS");

r.setBounds(210,95,1080,75);

f.add(r);

Font t=new Font("Showcard Gothic",Font.BOLD,65);

r.setFont(t);

/**Object Creation*/

lblid=new JLabel(" Prisoner Id.");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 33 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

lblid.setBounds(10,190,400,20);

f.add(lblid);

Font k=new Font("Dialog",Font.BOLD,25);

lblid.setFont(k);

lblname=new JLabel("NAME");

lblname.setBounds(10,225,200,50);

f.add(lblname);

Font p=new Font("Dialog",Font.BOLD,25);

lblname.setFont(p);

lblcrime_desc=new JLabel("Crime Description");

lblcrime_desc.setBounds(10,280,225,50);

f.add(lblcrime_desc);

Font x=new Font("Dialog",Font.BOLD,25);

lblcrime_desc.setFont(x);

txtid=new JTextField(10);

txtid.setBounds(190,190,250,26);

f.add(txtid);

txtname=new JTextField(10);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 34 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

txtname.setBounds(140,239,250,26);

f.add(txtname);

txtcrime_desc=new JTextField(10);

txtcrime_desc.setBounds(240,275,370,86);

f.add(txtcrime_desc);

btnfind=new JButton("FIND");

btnfind.setBounds(65,380,120,35);

btnfind.addActionListener(this);

f.add(btnfind);

btnrel=new JButton("RELEASE");

btnrel.setBounds(205,380,120,35);

btnrel.addActionListener(this);

f.add(btnrel);

btndel=new JButton("DELETE");

btndel.setBounds(335,380,120,35);

btndel.addActionListener(this);

f.add(btndel);

btnupdate=new JButton("UPDATE");

btnupdate.setBounds(475,380,120,35);

btnupdate.addActionListener(this);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 35 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.add(btnupdate);

btnclr=new JButton("CLEAR");

btnclr.setBounds(630,380,120,35);

btnclr.addActionListener(this);

f.add(btnclr);

btnrel.setEnabled(false);

btndel.setEnabled(false);

btnupdate.setEnabled(false);

/** Making the frame maximized*/

f.setSize(1200,900);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setLayout(null);

/**Making the Frame visible*/

f.setVisible(true);

}

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 36 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

/** Main Method*/

public static void main(String args[])

{

Prisoner1 f=new Prisoner1();

f.init();

}

/** Providing the implementation of the method of the Interface*/

public void actionPerformed(ActionEvent e)

{

id=txtid.getText();

name=txtname.getText();

crime_description=txtcrime_desc.getText();

int i=0;

try{

i=Integer.parseInt(id);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 37 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

}

catch(Exception ex){}

JButton b=(JButton)e.getSource();

String str=b.getLabel();

if(str.equals("FIND")){

if(txtid.getText().trim().length()!=0) //Validation in

order to show provided message

Find(i);

else

JOptionPane.showMessageDialog(null, "Text field is empty");

}

else if(str.equals("CLEAR")){

txtid.setText("");

txtname.setText("");

txtcrime_desc.setText("");

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

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 38 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Int conf=JOptionPane.showConfirmDialog(null,"Release the

prisoner","Message",JOptionPane.OK_CANCEL_OPTION);

String id=txtid.getText();

if (conf==0)

{

try{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

//Connection connect = DriverManager.getConnection("jdbc:odbc:employee");

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

String sql = "update prisoner_details set status=' prisoner released' where id="+id+"";

state.execute(sql);

//JOptionPane.showConfirmDialog(null,"prisoner released");

System.out.println("Statement executed successfully");

state.close();

connect.close();

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 39 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

}

catch (Exception ex) {

System.out.print(ex);

}}

}else if(str.equals("UPDATE")){

Update();

}else if(str.equals("DELETE")){

delete(i);

}

if ((id.equals(""))||(name.equals(""))||(crime_description.equals("")))

{

}

}

boolean Find(int id){

boolean flag=false;

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 40 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

try{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

String sql = "select * from prisoner_details where id="+ id +" and status='prisoned'";

ResultSet rs=state.executeQuery(sql);

if(rs.next())

{

txtid.setText(rs.getString("id"));

txtname.setText(rs.getString("name"));

txtcrime_desc.setText(rs.getString("crime_description"));

flag=true;

btnrel.setEnabled(true);

btndel.setEnabled(true);

btnupdate.setEnabled(true);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 41 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

JOptionPane.showMessageDialog(null, "Record Found

Successfully");

}

else

JOptionPane.showMessageDialog(null, "Check prisoner id and try again ");

rs.close();

state.close();

connect.close();

}

catch (Exception e) {

System.out.print(e);

}

return flag;

}

void delete(int id){

try{

/** Written in try block, in order to catch the Exception*/

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 42 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

String sql = "DELETE FROM prisoner_details WHERE id="+ id +"";

state.execute(sql);

// JOptionPane.showMessageDialog(null, "Record deleted Successfully");

System.out.println("Statement executed successfully");

state.close();

connect.close();

}

catch (Exception e) {

System.out.print(e);

}

}

void Update(){

try{

/** Written in try block, in order to catch the Exception*/

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 43 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

int i=Integer.parseInt(id);

String sql = "UPDATE prisoner_details set id= "+id+", name= '"+name+"',

crime_description='"+crime_description+"' WHERE id= "+id+"";

state.executeUpdate(sql);

JOptionPane.showMessageDialog(null, "Record Updated Successfully");

System.out.println("Statement executed successfully");

state.close(); connect.close();

} catch (Exception e) { System.out.print(e);

}

}

}

v) Warden page (For adding details of a Warden):

/** Importing in order to use the predefined methods and classes*/

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 44 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import javax.swing.*;

/** Creating a class Wardens_add and implementing the interface ActionListener*/

class Wardens_add implements ActionListener

{

/** Declaring the variables*/

/** Declaring the JFrame variable f*/

JFrame f;

JButton btnadd,btncncl,btnclr;

JLabel lblid,lblname,lbladdress,lblwarden_rank,lblyr_join,lblretire,r;

JTextField txtid,txtname,txtaddress,txtwarden_rank,txtyr_join,txtwarden_retire;

private String id,name,address,warden_rank,warden_year,warden_retire;

/** Constructor Creation */

public void information()

{

f=new JFrame();

r=new JLabel("WARDEN DETAILS");

r.setBounds(310,95,800,65);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 45 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.add(r);

Font t=new Font("Showcard Gothic",Font.BOLD,85);

r.setFont(t);

/**Object Creation*/

lblretire=new JLabel("Warden retirement");

lblretire.setBounds(100,490,500,20);

f.add(lblretire);

Font b=new Font("Dialog",Font.BOLD,25);

lblretire.setFont(b);

lblid=new JLabel("Id.");

lblid.setBounds(100,170,200,20);

f.add( lblid);

Font k=new Font("Dialog",Font.BOLD,25);

lblid.setFont(k);

lblname=new JLabel("NAME");

lblname.setBounds(100,230,225,50);

f.add(lblname);

Font p=new Font("Dialog",Font.BOLD,25);

lblname.setFont(p);

lbladdress=new JLabel("Address");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 46 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

lbladdress.setBounds(100,300,225,50);

f.add(lbladdress);

Font a=new Font("Dialog",Font.BOLD,25);

lbladdress.setFont(a);

lblwarden_rank=new JLabel("Warden Rank");

lblwarden_rank.setBounds(100,370,225,50);

f.add(lblwarden_rank);

Font q=new Font("Dialog",Font.BOLD,25);

lblwarden_rank.setFont(q);

lblyr_join=new JLabel("Warden year of joining");

lblyr_join.setBounds(100,420,275,50);

f.add(lblyr_join);

Font x=new Font("Dialog",Font.BOLD,25);

lblyr_join.setFont(x);

txtid=new JTextField(10);

txtid.setBounds(280,180,250,30);

f.add(txtid);

txtname=new JTextField(10);

txtname.setBounds(280,239,250,30);

f.add(txtname);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 47 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

txtaddress=new JTextField(10);

txtaddress.setBounds(280,310,250,50);

f.add(txtaddress);

txtwarden_rank=new JTextField(10);

txtwarden_rank.setBounds(280,380,170,30);

f.add(txtwarden_rank);

txtyr_join=new JTextField(10);

txtyr_join.setBounds(374,440,280,30);

f.add(txtyr_join);

txtwarden_retire=new JTextField(10);

txtwarden_retire.setBounds(374,495,280,30);

f.add(txtwarden_retire);

btnadd=new JButton("ADD");

btnadd.setBounds(105,560,120,35);

btnadd.addActionListener(this);

f.add(btnadd);

btncncl=new JButton("CANCEL");

btncncl.setBounds(280,560,120,35);

btncncl.addActionListener(this);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 48 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.add(btncncl);

btnclr=new JButton("CLEAR");

btnclr.setBounds(435,560,120,35);

btnclr.addActionListener(this);

f.add(btnclr);

/** Making the frame maximized*/

f.setSize(1200,900);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setLayout(null);

/**Making the Frame visible*/

f.setVisible(true);

}

/** Main Method*/

public static void main(String args[])

{

Wardens_add f=new Wardens_add();

f.information();}

/** Providing the implementation of the method of the Interface*/

public void actionPerformed(ActionEvent e)

{

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 49 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

JButton b=(JButton)e.getSource();

String str=b.getLabel();

id=txtid.getText();

name=txtname.getText();

address=txtaddress.getText();

warden_rank=txtwarden_rank.getText();

warden_year=txtyr_join.getText();

warden_retire=txtwarden_retire.getText();

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

add();

}

else if(str.equals("CLEAR")){

txtid.setText("");

txtname.setText("");

txtaddress.setText("");

txtwarden_rank.setText("");

txtyr_join.setText("");

txtwarden_retire.setText("");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 50 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

}

else if(str.equals("ADD")){

String txtid1=txtid.getText();

String txtname1=txtname.getText();

String txtname2=txtaddress.getText();

String txtname3=txtwarden_rank.getText();

String txtname4=txtyr_join.getText();

String txtname5=txtwarden_retire.getText();

}

else if(str.equals("CANCEL"))

{

f.dispose();

}

}

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 51 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

void add(){

try{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

//Connection connect = DriverManager.getConnection("jdbc:odbc:Wardens");

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

String sql = "INSERT INTO Warden_details (id

,name,address,warden_rank,warden_year,warden_retire) values ('" + id + "','" + name + "','" +

address+ "','" + warden_rank+ "','"+ warden_year+"','"+ warden_retire+"')";

state.execute(sql);

JOptionPane.showMessageDialog(null, "Record added Successfully");

System.out.println("Statement executed successfully");

state.close();

connect.close();

}

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 52 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

catch (Exception e) {

System.out.print(e);

}

}

}

vi) Warden page (For updating details of a Warden):

/** Importing in order to use the predefined methods and classes*/

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

/** Creating a class Wardens_add and implementing the interface ActionListener*/

class Warden_details implements ActionListener

{

/** Declaring the variables*/

/** Declaring the JFrame variable f*/

JFrame f;

JButton btnfind,btndel,btnupdate,btnclr,btncncl;

JLabel lbl_id,lblname,lbladdress,lblwarden_rank,lblyr_warden,lblretire,r;

JTextField txtid,txtname,txtaddress,txtwarden_rank,txtwarden_year,txtwarden_retire;

private String id,name,address,warden_rank,warden_year,warden_retire;

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 53 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

/** Constructor Creation */

public void init()

{

f=new JFrame();

r=new JLabel("UPDATE WARDEN DETAILS");

r.setBounds(310,85,1080,65);

f.add(r);

Font t=new Font("Showcard Gothic",Font.BOLD,65);

r.setFont(t);

/**Object Creation*/

lblretire=new JLabel("Warden retirement");

lblretire.setBounds(100,500,500,20);

f.add(lblretire);

Font b=new Font("Dialog",Font.BOLD,25);

lblretire.setFont(b);

lbl_id=new JLabel("Id.");

lbl_id.setBounds(100,170,200,20);

f.add(lbl_id);

Font k=new Font("Dialog",Font.BOLD,25);

lbl_id.setFont(k);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 54 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

lblname=new JLabel("NAME");

lblname.setBounds(100,230,225,50);

f.add(lblname);

Font p=new Font("Dialog",Font.BOLD,25);

lblname.setFont(p);

lbladdress=new JLabel("Address");

lbladdress.setBounds(100,300,225,50);

f.add(lbladdress);

Font a=new Font("Dialog",Font.BOLD,25);

lbladdress.setFont(a);

lblwarden_rank=new JLabel("Warden Rank");

lblwarden_rank.setBounds(100,370,225,50);

f.add(lblwarden_rank);

Font q=new Font("Dialog",Font.BOLD,25);

lblwarden_rank.setFont(q);

lblyr_warden=new JLabel("Warden year of joining");

lblyr_warden.setBounds(100,430,275,50);

f.add(lblyr_warden);

Font x=new Font("Dialog",Font.BOLD,25);

lblyr_warden.setFont(x);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 55 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

txtid=new JTextField(10);

txtid.setBounds(280,170,190,30);

f.add(txtid);

txtname=new JTextField(10);

txtname.setBounds(280,239,190,30);

f.add(txtname);

txtaddress=new JTextField(10);

txtaddress.setBounds(280,310,190,30);

f.add(txtaddress);

txtwarden_rank=new JTextField(10);

txtwarden_rank.setBounds(280,380,190,30);

f.add(txtwarden_rank);

txtwarden_year=new JTextField(10);

txtwarden_year.setBounds(374,440,280,30);

f.add(txtwarden_year);

txtwarden_retire=new JTextField(10);

txtwarden_retire.setBounds(374,495,280,30);

f.add(txtwarden_retire);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 56 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

btnfind=new JButton("FIND");

btnfind.setBounds(95,550,120,35);

btnfind.addActionListener(this);

f.add(btnfind);

btndel=new JButton("DELETE");

btndel.setBounds(295,550,120,35);

btndel.addActionListener(this);

f.add(btndel);

btnupdate=new JButton("UPDATE");

btnupdate.setBounds(495,550,120,35);

btnupdate.addActionListener(this);

f.add(btnupdate);

btncncl=new JButton("CANCEL");

btncncl.setBounds(880,550,120,35);

btncncl.addActionListener(this);

f.add(btncncl);

btnclr=new JButton("CLEAR");

btnclr.setBounds(695,550,120,35);

btnclr.addActionListener(this);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 57 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

f.add(btnclr);

btndel.setEnabled(false);

btnupdate.setEnabled(false);

btncncl.setEnabled(false);

/** Making the frame maximized*/

f.setSize(1200,900);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setLayout(null);

f.setVisible(true);

}

/** Main Method*/

public static void main(String args[])

{

Warden_details f=new Warden_details();

f.init();

}

/** Providing the implementation of the method of the Interface*/

public void actionPerformed(ActionEvent e)

{

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 58 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

id=txtid.getText();

name=txtname.getText();

address=txtaddress.getText();

warden_rank=txtwarden_rank.getText();

warden_year=txtwarden_year.getText();

warden_retire=txtwarden_retire.getText();

int i=0;

try{

/** Written in try block, in order to catch the Exception*/

i=Integer.parseInt(id);

}

catch(Exception ex){}

JButton b=(JButton)e.getSource();

String str=b.getLabel();

if(str.equals("FIND")){

if(txtid.getText().trim().length()!=0) //Validation in

order to show provided message

Find(i);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 59 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

else

JOptionPane.showMessageDialog(null, "Text field is empty");

}

else if(str.equals("CANCEL"))

{

f.dispose();

}

else if(str.equals("CLEAR")){

txtid.setText("");

txtname.setText("");

txtaddress.setText("");

txtwarden_rank.setText("");

txtwarden_year.setText("");

txtwarden_retire.setText("");

}else if(str.equals("UPDATE")){

if(txtid.getText().trim().length()!=0)

//Validation in order to show provided message

Update();

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 60 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

else

JOptionPane.showMessageDialog(null, "Text field is empty");

}else if(str.equals("DELETE")){

i=Integer.parseInt(id);

delete(i);

}

if

((id.equals(""))||(name.equals(""))||(address.equals(""))||(warden_rank.equals(""))||(warden_year.e

quals(""))||(warden_retire.equals("")))

{

}

}

boolean Find(int id){

boolean flag=false;

try{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 61 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

String sql = "select * from Warden_details where id="+ id +"";

ResultSet rs=state.executeQuery(sql);

if(rs.next())

{

txtid.setText(rs.getString("id"));

txtname.setText(rs.getString("name"));

txtaddress.setText(rs.getString("address"));

txtwarden_rank.setText(rs.getString("warden_rank"));

txtwarden_year.setText(rs.getString("warden_year"));

txtwarden_retire.setText(rs.getString("warden_retire"));

flag=true;

btndel.setEnabled(true);

btnupdate.setEnabled(true);

btncncl.setEnabled(true);

}

JOptionPane.showMessageDialog(null, "Record Found Successfully");

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 62 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

System.out.println("Statement executed successfully");

rs.close();

state.close();

connect.close();

}

catch (Exception e) {

System.out.print(e);

}

return flag;

}

void delete(int id){

try{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

Connection connect = DriverManager.getConnection(source);

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 63 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

String sql = "DELETE FROM Warden_details WHERE id="+ id +"";

state.execute(sql);

JOptionPane.showMessageDialog(null, "Record deleted Successfully");

System.out.println("Statement executed successfully");

state.close();

connect.close();

}

catch (Exception e) {

System.out.print(e);

}

}

void Update(){

try{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Divers loaded successfully");

String source =

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=PMS.mdb";

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 64 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Connection connect = DriverManager.getConnection(source);

System.out.println("Connection established successfully");

Statement state = connect.createStatement();

int i=Integer.parseInt(id);

String sql = "UPDATE Warden_details set id= "+id+", name= '"+name+"',

address='"+address+"',warden_rank='"+warden_rank+"',warden_year='"+warden_year+"',warden

_retire='"+warden_retire+"' WHERE id= "+id+"";

state.executeUpdate(sql);

JOptionPane.showMessageDialog(null, "Record Updated Successfully");

System.out.println("Statement executed successfully");

state.close();

connect.close();

}

catch (Exception e) {

System.out.print(e);

}

}}

vii) Report page (For report details of a Prisoner):

/** Importing in order to use the predefined methods and classes*/

import java.awt.*;

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 65 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

import java.awt.event.*;

import java.sql.*;

import javax.swing.JFrame;

/** Creating a class Wardens_add and implementing the interface ActionListener*/

class Report1 extends JFrame implements WindowListener

{

private boolean flag=true;

List lstrpt;

public Report1(){

setTitle("Report");

setSize(430,350);

setLayout(null);

/** Making the frame visible*/

setVisible(true);

lstrpt=new List();

add(lstrpt);

lstrpt.setBounds(10,40,1200,400);

addWindowListener(this);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 66 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

try

{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:PMS","","");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("Select * from prisoner_details");

String st="";

while(rs.next()){

st =rs.getString("id")+" "+rs.getString("name")+"

"+rs.getString("address")+" "+rs.getString("date_of_crime")+"

"+rs.getString("crime_description")+"

"+rs.getString("date_of_prisonment")+" "+rs.getString("date_of_release")+"

"+rs.getString("status");

lstrpt.add(st);

}

}

catch(Exception e){

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 67 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

}

}

//Implementing windows Listener

public void itemStateChanged(ItemEvent e){}

public void windowOpened(WindowEvent e){}

public void windowClosing(WindowEvent e){dispose();}

public void windowClosed(WindowEvent e){}

public void windowIconified(WindowEvent e){}

public void windowDeiconified(WindowEvent e){}

public void windowActivated(WindowEvent e){}

public void windowDeactivated(WindowEvent e){}

public static void main(String args[]){

Report1 r=new Report1();

}

}

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 68 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

viii) Report page (For report details of a warden):

/** Importing in order to use the predefined methods and classes*/

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import javax.swing.JFrame;

/** Creating a class Wardens_add and implementing the interface ActionListener*/

class Report2 extends JFrame implements WindowListener

{

private boolean flag=true;

List lstrpt;

public Report2(){

setTitle("Report");

setSize(430,350);

setLayout(null);

/** Making the frame visible*/

setVisible(true);

lstrpt=new List();

add(lstrpt);

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 69 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

lstrpt.setBounds(10,40,1200,400);

addWindowListener(this);

try

{

/** Written in try block, in order to catch the Exception*/

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:PMS","","");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("Select * from Warden_details");

String st="";

while(rs.next()){

st =rs.getString("id")+" "+rs.getString("name")+"

"+rs.getString("address")+"

"+rs.getString("warden_rank")+"

"+rs.getString("warden_year")+" "+rs.getString("warden_retire");

lstrpt.add(st);

}

}

catch(Exception e){

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 70 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

}

}

//Implementing windows Listener

public void itemStateChanged(ItemEvent e){}

public void windowOpened(WindowEvent e){}

public void windowClosing(WindowEvent e){dispose();}

public void windowClosed(WindowEvent e){}

public void windowIconified(WindowEvent e){}

public void windowDeiconified(WindowEvent e){}

public void windowActivated(WindowEvent e){}

public void windowDeactivated(WindowEvent e){}

public static void main(String args[]){

Report2 r=new Report2();

}

}

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 71 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

SAMPLE OUTPUTS AND EXPLANATIONS i) Login Screen :

In this ,text Field are used for taking the Username and Password Field used for taking the

password from the user. A Button that submits the user’s entered value and satisfies the

Username and Password of the user and a cancel is used to cancel the details.

ii) Home Screen : After logging in Prison management system screen will appear which is

provided with the following main menu. The administrator had given the privilege to

prisoner, warden, reports and logout. And after clicking on these menu you can go further

sub-menus.

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 72 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

iii) Prisoner Add Screen : This screen very well depicts the entire details of a prisoner all

necessary details will be filled in it and after clicking on the add button you will be shown

with a dialog box indicating that the prisoner details have been added successfully.

iv) Prisoner Update Screen : This screen very well depicts the details which you wish to

find, release, delete, update in a prisoner details and after you add the prisoner id there

you will get all the others details after clicking on the find button you will be shown with

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 73 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

a dialog box indicating that the prisoner details have been found successfully. In it all the

other buttons will be disabled if you don’t find any prisoner.

v) Warden Add Screen : This screen very well depicts the entire details of a warden all

necessary details will be filled in it and after clicking on the add button you will be shown

with a dialog box indicating that the records have been added successfully.

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 74 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

vi) Warden Update Screen : This screen very well depicts the details which you wish to

find, delete, update in a warden details and after you add the warden id there you will get

all the others details after clicking on the find button you will be shown with a dialog box

indicating that the warden details have been found successfully. In it all the other buttons

will be disabled if you don’t find any warden.

vii) Prisoner report Screen : This screen very well depicts the entire report of a prisoner all

necessary details that you have added in the database.

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 75 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

viii) Warden report Screen : This screen very well depicts the entire report of a warden

all necessary details that you have added in the database.

ADDITIONAL FEATURES

i) Use of Exception Handling apart from database.

CE00396-1-Object Oriented & Event Driven Programming Assignment Page 76 of 76 __________________________________________________________________________________

Level 1 Asia Pacific Institute of Information Technology 2015

Apart from database connectivity, Exception handling concept is used in the application

to handle the exceptions more efficiently.

ii) Validation is provided to almost every field.

The validation is provided to almost every aspects of the application to make the data

storage more persistent and the application user-friendly.

iii) Predefined interfaces are implemented.

Predefined interfaces are implemented in the application.

iv) A Log out menu item is provided for logging out of the application.

A logout menu is provided in the main menu of the application, for logging out of the

application.

ASSUMPTIONS i) Basic User Requirements

It has been assumed that the user of the application should have basic computer

knowledge and all other programming skills, in order to use the application more

effectively.

REFERENCES

i) Schildt, H (2007). Java: The Complete Reference. 7 West Patel Nagar, New Delhi: Tata

McGraw-Hill Publishing Company Limited. p205-217.

ii) http://www.java2s.com/Tutorial/Java/0240__Swing/SetFontandforegroundcol

orforaJLabel.htm. Last accessed 20th April.