You are on page 1of 56

1

Budditha Hettige (budditha@yahoo.com)




Module 11
Develop Based Software Solution

Aim:
e.. c.:. ..u .-O oO..u.O. ouO .-qr.. e,re. Software Development c_-O
._r oOe-...r _-. .Ou oee. .-qr.. e,re. eq rcu r. c_-O :,u.r
ouuc,O o. ,<. ..ue.u .-qr...r ere rc< o.r.c. c_-O ,u. _-. .O
oecre. erec.

Objectives:
e.. c.:. o...ue.u ceO .-O c:u :,r..Ou _-. .u :,r..
Introduction to Software Development (.-qr.. e,re. c_-O :,.)
o Requirements specification (.-qr.. uc..<. r.O oO..u. :qu. .,u.)
o Design (.-qr.. e,re. e:. oO.. e,r,e. ere r.)
o Construction (oO.. .-qr... eu.c. .-qr... e,re.)
o Testing and debugging (.-qr..e. uO,c u.O. cre. r.)
o Installation (.-qr... oO.. c eO.cu r.)
o Maintenance (.-qr... eO.cu re.u ouuc,O u:uu r. )
Introduction to Computer Programming with JAVA(Java .-qr... ..ue.u c.<r
r.e_-u ereu o.r.c. :,.)
Introduction to JAVA based System Development (Java .-qr... ..ue.u
.-qr...r e,re.)

1.1 :,u.
.-qr.. e,re. (Software Development) .u cc.<r reeue. u. euc. rO.uur.
Ocu..ue. c.<r reeue. dr.. e-.e:. c..<.r e.. reeu .O o._O -: o,u
ouc c.<r. u_u u..O oO.. .-qr.. u..O . ucO. .u :,r . ue. e-.e:. o.
o Ou O .-qr.. e,re. erec: O,: oO..u.r e... rc o,u. .-qr...r .u
c.<r r.e_-u (Computer programs) r:c.ru :. oO.O oO.. uu ..ue.u ec.u
_-u cee ouO c.<r.O r.r eree r_.u .uu cee _-. euur. (software,
is a collection of computer programs and related data that provides the instructions for telling a
computer what to do and how to do it [wiki])
2

Budditha Hettige (budditha@yahoo.com)


.-qr.. c..u O.e.u Oc. c+ rO e-. :,r. oO. system software, programming software
e: application software .. .u. .-qr...r r..r.uO. ouO c..r er.Oe uurO eOu
rc r. :,r.. oO. u3, input, Output e: process - cce.: e.O,u .-qr...r
e,r,e. rO. o,u.


Figure 11-1: .-qr...r e,r,e.
Input: .-qr...O _-. eu o...r.u e..u ecuO. o,u. .-qr...O uu _-. .O ocO
.uc, cOc,O keyboard/Mouse e:. file orr ..ue.u eq rc .u :,r.. e-.e:.
oOeO.O_ oguu uu o,u_u r.O .uc, cOc,O ..u rcu _-u ouc .._ O.e.u
o,u uu _-. .,u.O files ..u rc..
output: .-qr... ..u _-. eu uu cOuO _-. euueu e.. ..u. o. file orr
_.r e:. c.u uc. .u e .r e:. Printer orr ..ue.u _-. .uu. -: cOcur
e:. . :,r..
Process: uu e,re. e.. o.ec eq rc.. ou3 Input ..u _-. .uu. uu oO.. c
ere. cu.u.u Output .uO _-. . eq rc..
.:c<.r e_e ee_e.e 3ue.u o,u e<uO 3u.r c,cu:.c 3u.O :cOu
r.e_ru.r e_ruu. e.: e<uO. ee_ e.e 3u.r e_eu .uc, cOc,O ..ue.u
o,u_u rc.u o. Input o.ec eq rc. ouuc,O ee_e.e 3ue.u o,u e<uO 3u.r
c,cu:.c 3u.O :,c. Process o.ec eq rcu ouc c_uc Screen oer: r. Output
o.c ..u eq rc..
o,u,3 u. r:. .-qr.. O_ o,u,3 O e.. er.Oe + . eu.u-. :,r.. .-qr...
r..u.r r_ e,uu uce. ..r c.u. . c.ur eq rcu .-r.. O_ Input o.c
eu..,u.
ere rc oOeu O .-qr...r c.<r.O er_u RUN r_ :,r uuOe. cOu. oO.
Executable files e_e :quOu _-u ouc oO. c.<r.O r.. :,r ..e.O Ou Machine
languge ..e.OO cOcOu. cOu. Machine languge ..e.O ocO r.. eu.:,r -,u o.
..e.eOu er_u. .-qr.. _. ocO r_ eu.:,r. e3 ue. c.<r r. e_-u _.O
ocO c.<r ..e.Or ..u r.O eqe3. r.e_-u e,re. e:. c.<r ..e. .._
e-..Or o,u o. ..e. c:u e_eO Oc. r_ :,r..
Machine Languge
Assembly Languages
High Lavel Languages (C PASCAL)
Object Oriented Programming languages etc. (C++, JAVA, VB)
Input Output Process
3

Budditha Hettige (budditha@yahoo.com)


e.. or or Oc.e. ..e.Ou O_ :,r..Ou oreurO eOue e3. e3 ue. .-qr..e.
eO... ouO oO.. ..e.O eu.c. .,u. eq r_ .u .. .:c<.r e_e crc< e:.
oO.. .-qr.. Hardware drivers _.O e-.e:. o. Assembly Language ..u rcu ouc
oeuru .-qr.. e:. Object Oriented Programming languages eqe..
eu.c. .uu. _ ..e.eOu _.u _ r.e_-u.r oc Source corde e_eu :quOu
_,e. .:c<.r e_e JAVA ..e.eOu _.u _ r.e_-u.r oc JAVA file orr
e_e e_r.. C++ ..e.eOu _.u _ r.e_-u.r oc cpp file orr e_e :quO.. e..
r.e_ru O_ o,u u u ocO c:eeOu r.O. euc,3 .u :,r. oe:u c.<r.O
r.. eu.:,r. e3 ue. c.<r.O r.. :,r ..e.O Ou Machine Language orO
e.. cOcuu. r_ .u . o e:. oc compiler orr ..u rcu _,e. or or c.<r
..e.Ou e:. compiler cOu. .:c< e_e JAVA ..e.O cOcOu.O JAVA compiler
c++ ..e.eOu o,u r.e_-u cOcuu. r.O CPP compiler o,u. e3 ouO .-qr..
e,re. e:. r.e_-u e,re. e:. oO.. editor orr r.e_-u cOcuu. r.
e:. compiler orr oO.. e3. .:c<.r e_e JAVA c.<r ..e.eOu r.e_ru
e,re. e:. editor or e_e Text Pad editor or JAVA compiler or e_e JDK (Java
Development Kit) ..u r_ :,r.. o c_- O,: euc c.<r r.e_-u e,re.
c_-O :.c< O _-. .u :,r.. u oc c.<r .-qr...r ereu o.r.c. uO,cO
c.Oecu c.OcO e.u .u..
c.<r .-qr.. e,re. c.<r .-qr...r ereu o.r.c. u .u c.<u eq r_
eu.:,r (oO e-.e:. e.. o,ue3) e-.e:. .-qr.. ucOuuu .-qr.. uc.
ocueu c.<re.: r.e_-u e,ree.u oe:u o. uO,c r.. eu.e3. oee
re.u .-e. r.e_-ue. o.r-u e...r (Design Error) c,Ou .e:.u o,u,3 O
o.r-u. eOue r.O eq Ou -,u oeru r_ r.c.. oceu .. :,r.. e3 ue.
c_.ur.e3.uO ouO .-qr.. e,re. o,c7. .u.. u oc o c_-O e_r. -_..

1.2 Software Development (.-qr.. uc.)
.-qr.. uc. e:. c_.u r. c...r o,u oO ouu Waterfall mode e-.e:. o. ..u
rcu e3.u r..r. e.. o.r-u.O ouO .-qr.. uce3 r..O_. er.Oe rO e-.
:,r. oO. u3
Requirment Analysis (oO..u. :qu. .,u.)
Design (o.r-u. e,re.)
Implemantation (.-qr...r.e_-u. e,re.)
Verification (.-qr... cre. r.)
Maintence (.-qr... u:uu r.)
-z cce.: e.. o.r-u. rO. o,u. e.. oreur :. e3-u. r..O_.r. .:c<.r
e_e c_. c.Oc rc oOeu O ceO eOu c.OcO .. .r. eOu c.Oec .3 e...r .u
4

Budditha Hettige (budditha@yahoo.com)


OOe:.u u,Ou c_. cOOc rc o. e... o,u O u,u u,Ou uO,c r_ .u.. u oc
c.Oecu c.OcO .-qr.. uc. c_-O e_r. -_..

Figure 11-2: Waterfall model

1.2.1 Requirment Analysis (oO..u. :qu. .,u.)
.-qr.. uce3 ou..u. r_ .u c_. c.Oc oO..u.Ou :qu. .,u... .:c<.r
e_e .-O .3 o..uu.rO o: oO..u. e:. .-qr...r ere. .O eq OOe:.u c_.O .-
o. o..uue. o.O..u.O.u e..uO.. ee... -,_. .u.. e3 e:. r. r:c.r
ou.u.r r_ :,r.. oO. u3
e..u r..r.uO.u oO..u.O.u o,u eOuu cu c_-O :,.
e.rce. ..c.e.u oO..u. :qu. .,u.
uO cOuu _c e_-u c._ue.u oO..u. :qu. .,u.
oO.. -:.. :. .-qr.. oqu. .,u.
.:c<.r e_e .-O oguu o,c7.O oecre. rcu qcruu e._.r r..r.uO. :.
c:er3 e,_e. e:. uO .-qr...r e.O oO.. o,u,. eu.. c_.O .-O r_ :,r
O:.u. eqe e. u3 uO cOuu cu :,... oe_e e..u cuu :,e3 c:u
rc,< c_-O e,_r. .u..
c.u. ucO. o,u ..e.O (Programming Language)
o,u c:er3 (Facilites)
o:c.: (Drawbacks)
c.u. e:. ..u rc o,u eOuu .-r.. :. -:.. (Software and Hardware
requirments)
cOuu c.u :,e.u .-O o. c.u c_-O uO,c oOe-...r _-. .u :,r.. oe:r
.- oO..u.Ou :qu..,u. uO qcOu eq r_ .u.. ou3 .-e. o..uue. o.O..u. cOuu
5

Budditha Hettige (budditha@yahoo.com)


oO.O O:. eOue . :,r -,u. u .- r_ .ueu e.rce. ..c.e.u o..uue.:
uOqcOu oO..u. :qu. .,u... e3 e:. .-O c:u r. ou..u. r_ :,r..
e3.r e.rce. c,O,u.
c.u.O_.r ere. o..u oO.. c_uc, _-. .,u.
e3.r e.rce. c,O,u. :. c.u.O_.r o..e.u .-O o. o..uue.: oO..u. e:.u
euc,3 .u :,r.. o: c:u rc,< c_-O e_r. -_uu
.-qr... ..u. rcuuu c_- euc
_-. . .u c:e r3
oO.. uu :. O.cu. e..uO. .uu
oO.. c:er3
..u. rcuuue. c.<r u.
u .- r_ .ueu o..uue. o,u e_-u .c:< e_e Invoice e: Bills cre. rc oO.e.
e,r,e. :. oeuru oO..u. eu.c. .uu.
u .- .-e. .-qr... e:. oO.. -:.. :. .-qr.. oqu. .,u. r_ .u.. .:c<.r
e_e .-e. .-qr... ..Ou. r.O oO.. .-qr.. euc,3 .u .u.. .:c< e_e oO..
e.e:.3 c.u. (Operating System), eOuu oO.. .-r.. (Onlne version orr u3 o.
..Ou. r.O oO.. web browser or) o. .-qr.. eu.c. .u .u..
-:.. :qu. .,u. u ouuc,O r_ .u.. o: e. ..Ou. r_ .u cc.<re. uuO.
(Processor, Memory, Hard disk capacity ) c_-O e_r. -,_. .u ..
e3 o.r.c.O .-O oO..u. :qu. .,u. eq rc .u :,r. u .- o. oO.. u. oreur
e..urc oO..u. uO,cO ere. .uu.

1.2.2 Design (o.r-u. e,re.)
u .- :u oO..u. e_r. -_. .-e. .-qr..e. ._r e,r,e. (Basic Design) ere r_
.u.. e.. ._r o.r-u. e,ree3 input, Output e: Process O.e.u e_r. o.r-u.
e,re. .u.. .:c<.r e_e -+ cc. oee ereu _ ._r e,r,e.r ,re3.
e.: c_.O .-e. o.r-ue.: input :. Output eu.c. .u .u.. ouuc,O o. input ..u
Output _-. .,u. e:. r_ .u r.. rcr3 or or er.Oe O_O eOu rc (Module) ere.
.u .u.. e.: uu .-:. rcu o.r.c r. .u.. -+ cc. -_uu. o: input orr :.
Output orr cOu. o.O o.ucO uu .-:. r.O Database orr e: file orr rO. o,u.
.-e. o.r-ue. oO..u. ouO Database orr e:. files rOuu. o.O o.ucO or or
oO..u.Ou e:. e.. Module 4 r o,u. Component A-D .-e. .-qr... e:. oe_e
oO.. Ou e_eO Module ere rc .uu. .:c<.r e_e Component B : r.c.. Oueu
6

Budditha Hettige (budditha@yahoo.com)


uu oO.. o.r.c.O ere. Database oer: _.u uu database oeru r.O. oO.. c
.-qr...O e,c....


Figure 11-3: Sample Design(o.r-u.)
e.. o.r-u.O o.ucO .-qr...r e,ree3 eue.r o.r-u :. e_-u e,re. ..u
o.r-u. uO,c rc .u :,r.. oO. ouu
User Case diagram
Acivity Diagram
ER Diagram
Realational Scema
Class diagram
o. diagram ..ue.u :u .- e,re o.r-u. u,Ou euc rc .u .u.. .-e.
.-qr..e.: database orr cOuuO. u3 ouO.c..e.u. o e:. ER Diagram orr e:
Realational Scema orr e,re. .u.. e.. e_ru .._. ..ue.u database oer:
e,r,e. uO,cO. _-. .u :,r.. User Case diagram e: Acivity Diagram or ..ue.u
.-e. .-qr..e.: or or User o._O r..r.cr3 :. oO.. c:er3 c_-O uO,c u.r
_-. .u :,r. oee. oOe.ue. .-e. ._r o.r-u.O o._O e.g e e_r. Class
diagram or ere rcuu.

7

Budditha Hettige (budditha@yahoo.com)



1.2.3 Implemantation (r.e_-u _.)
o.r-u. uO,cO ere r_ ce r_ .u r.c.. Oueu .-qr... e,re... e.. Code rc.
e_eu :quO.. e.: e,_r. .u O,.u. rc.. Oueu .- eu.c. .uu. c.<r
..e.O.. c.<r ..e.Or eu.c. .,ue. ._r rc,< r:c.r c_-O e,_r_.u . .u .
ou3
.-qr... e:. _-. ..u c:er3 o. c.<r ..e.eOu e,c.. :,r. .uu
(.:c< e_e e._rc< Network c:er3 :. Database c:er3 Assembly :. C
O,u c.<r ..e.Ou ..u _-.. oc:e.)
oee. .- eu.c..uu. c.<r ..e.O c_- .e u. c_-O e_r. -,_.
O,.u.. .:c<.r e_e .-O O:.u :c, cc,q VB.Net c.<r ..e.O u3 eOuu
..e.O_O ... oc:e.. oe:u .- JAVA O,u c.<r ..e.Our :.c. o,uu3
C++, C#.net o. ..e.Ou eOu ... c:e..
.- eu.c. .uu. .-qr.. ..e.eOu ereu _ .-qr.. o..uu. u_ c:eeOu
..u.O o,u :,r..O (o..uue. .-u rcue. _ure e.e:.3 cu u3
Windows .-qr.. ..u r. oc:e.) oee. .-e. .-qr... eO.cu r.O
.._ cO,.r .O eq eu.. .u..
.:c<.r e_e .- .-qr... e,re.O JAVA c.<r ..e.O eu.c. .ueu .,. euuu
u .. ..e.OO ouO .,_ecu e_eO Code r. o.c3. r_ .u.. Code re3 c:u
rc,< c_-O e,_r_.u Ouu
uO,c Coding methods ..u r.
uO,c Algorithms e..
Functions uO,cO ..u r.
oO.. eO.u O_ Comment e..
r.e_-u. uO,cO e,re. c_-O er.Oe O_ c O.e.u e.rce. rcu _,e.
:u e_eO uO,cO r.e_-u. e,re ce ereu _ .-qr..e.: uO,c u.O cre. r_
.u.. o. 2_.O e_r. -_..
1.2.4 Verification (uO,cu.O cre. r.)
.- .-qr... er.c.< uO,cO e,re.O ue: r_ o: .-O eu.eu.ecu :.
eu.eceuu e-.e:. e.. c,Ou. :,r. e3 ue. .- ere r_ .-qr... ouOc..e.u.
cre. r_ .u.. cc.<r .-r...r ccre. rce3 r. err cOu oO. u3
White box testing
8

Budditha Hettige (budditha@yahoo.com)


Black Box testing
White Box r.e. eqrcu _-ueu .-qr... ucuuu eu oO.. cre.O eq r...
e.: e...r o,u OOe:.u o._ e... o,u O u,uO e..e o. Code or oO.. c
uO,c rc O,c uO,c rcu _,e. e3 e:. Test plan orr ere rc .u .u.. Test plan
orr ere re3 cre. rcueu r.r .uu cre. rcu uuO _-. eu uu :.
_-.ec.ec.uu Ou c_uc, ue c _.. e_-u.r ere r_ .u.. - O.eO: oO,u Test
plan orr e,r,e.r c:u rO. o,u. e.O,u O.Or ere. o. O.O ouO c_O_u cre.O
eq r_ .u..
cre<. e:uO o,u_u rcu
uu
-_.ec.ec.uu Ou
cuc_.
_,-<
cuc_.
eO:u





Table 11-1: Test plan (cre< O.O)
.:c<.r e_e .-qr.. c.u.rO o,u_u Ou User Login Window orr cre. r.O
oO.. o,u,. euuu o e:. c:u oO..u. e_r. e.. O.O ere r_ .u..
e.__ uO,c O uO,cO Log .
u. O,c O r..r.u O.
c:e c. O,c O r..r.uO.
u. e: c:e c. O,c O r..r.uO.
u.r o,u_u eu.rc o,u oOeO.O_ r..r.u O.
o,u,3 oOeO.O_ Test plan oer: Test r_ .u oOeO. e. .<ur c.< u-. :,r..
oOeO. e.__ cre. re.u .-qr..e.: uO,c u.O. O:.u O,: e3.
White Box r..O cre. re.u ouuc,O Black Box r..O u,Ou cre.O eq r_ .u ..
e.: cre.O eq r_ .u Oueu .-qr..e.: o..uuc r..r.uO. _,u O,e:.r u,u
eOuu ereur eu. .: eu cre. r_ .ueu _-. eu uu e:. uO,c c _uc,
_,e-ueu u, .uu c.<. e.. c,Ou. e:.u oO. uO,c r_ .u.. o e:. o,u,3 O
._r o.r-ue.: cO. .3 eOue r3 r.O eq . :,r.. o. u. oO.e ..r rO.uur
O,: r._.r .ue3. o.r-u e,. u. uO,cO c_. er.O. oOeu rc .u .ueu e3 ue...
9

Budditha Hettige (budditha@yahoo.com)


.e .-qr... e.cO.r e_e r.. rcueu u3 u o. c.e...r.. eOu _-. . :,r..
c.e..r..O .-qr... _-. e3 e,_u. .u O,.u. e u3 .:O .-e. .-qr... .,u
e:. uO,c oOe-...r eu..,u -O.. o ue. .-qr... eO.cu re. o.O oO..
Installation guide e: user manual .u _.O_ o._ o..uu. eOu _-. . .u.. e..u ceO
.-e. -,. oOeu eu.e3. e-.e:. oOeO.O_ ecc .e.uu. r._ e.Or rO. .-qr...
u:uu rc . .- eu r_ .u.. o c_-O u ee... -_..

1.2.5 Maintains (u:uu r.)
.-e. .-qr... oO.. o.r.c.O uO,cO ee uuOe.u ere. o,uu3 u:uuO c:e. o.
o,u,3O c.<r O_O .-e. .-qr... eO.cu rc . c.<r . :,r.. oe:u .-e.
.-qr..e. e.. o:c.: cu u3 u:uuO oc:e rO.uur.
o,u,3 O u:uu rcu r._e. .-e. .-qr... u,Ou eOue r.O oO.. . :,r. o
eeO...r.u e. oO..u. uO,cO O er.. e:. eOuu o.uc c:e r.r oO.. . ue.
. :,r.. oO .- .-e. r. e_-u oO.. c eOue rc u,Ou.-qr... ere. . .u..
(.-qr...r c.e-..r..O e,c.e3 o: Source Code .OuO _-. eu.eu ouc ereu _
.-qr... c.<r _-. e.) e.e_e _-. eu .-qr... u:uu r. e:. o,u,3O
Maintains manual orr o,u,3 O _-. e.

e.eur e3_. .-qr.. e,ree3 r. e3. e.rce. r,u _ u oc r. e_r ere rcu
o.r.c. e_r. -_..

1.3 Compute Programming(r.e_-u e,re.)
e3 e:. ._u. r_ .u r.c.. u3 r.e_-u e,re. e:. eqe c.<r ..e.O eu.c.
.,u... e.: oc o e:. JAVA ..e.O eu.c. .u.. u oc :u e.u .u e_eO
r.e_-u e,re. e:. oO.. crc< e: e.O_3 ec.. .u. e3 e:. JAVA Compiler
orr e: Edior orr oO.. e3. JAVA Compiler or e:. oc JDK (Java Development Kit)
or .-e. c.<re. eO.cu. rcO.. e3 e:. c:u c.Oc ou..u. rcuu
JDK .-r... download rc.uu URL: http://www.oracle.org
o. JDK Setup or run rcOuu
_,e-u Window oer: [1] Accept button or click rcuu
oO _,e-u Window oer: [2] Next button or click rcuu (e.: O3 ceu .:
e-orr Ou eO.u. ecuu3 rc o,u o.O.. u3 c.<r Change button or click
rc o. eO.u. eOue rcuu)
u JAVA .e c.<r. u_ eO.cu Ou o,u
10

Budditha Hettige (budditha@yahoo.com)


u _,e-u Window oer: Finish button or click rcuu

Figure 11-4: Java Installation Setup
JAVA eO.cu. rc .,ue.u ceO .-O r.e_-u _. e:. eqe editor orr eu.c. .u
.u. oc e.: o e:. NEtBeand IDE (integrated design environment) or eu.c. .u..
e...u. editor orr _-. eue. editor edit re3 c:er. c.< u.u IDE orr o.O O:.
.._ c:er3 ec... uOr.uO e.O,u c:e r3 ..u. u. O.e ..r. oee. r.e_ru
e,re. c:e.. IDE orr o,u c:er3 ouc
source code editor
compiler and/or an interpreter
build automation tools
Debugger
Construction of a GUI
Class browser
Object inspector
.u c:er3 u. O,ue3. u oc NetBeans IDE or .-e. c.<re. eO.cu. rcO.. e3
e:. c:u c.Oc ou..u. rcuu
NetBeans .-r... download rc.uu URL: http://www.netbeans.org
o. Setup or run rcOuu (oO or Netbeans Installar r..u.r e3)
_,e-u Window oer: [1] Next button or click rcuu
1
2
11

Budditha Hettige (budditha@yahoo.com)


oO _,e-u Window oer: [2] I Accept statement or click rc Next button or
click rcuu
oO _,e-u Window oer: [3] Do not install Junit or click rc Next button or
click rcuu
u _,e-u Window oer: [4] Next button or click rcuu
u _,e-u Window oer: [4] Install button or click rcuu
u NetBeans .e c.<r. u_ eO.cu Ou o,u
u _,e-u Window oer: Finish button or click rcuu


Figure 5: Netbeans Installation wizard
,u .e cc.<re. Netbeans .-r... eO.cu. O o,u oc ,u r.e_ru e,re.
o.c3. rc..
JAVA c.<r ..e.O Ocee. James Gosling eu ucOu _ ouc or_ Sun
Microsystems o: ..cr.cuO. cu _. JAVA ..e.e3 o,u c..u. _re<.r u3 write
1 2
3
4
12

Budditha Hettige (budditha@yahoo.com)


once, run anywhere. :,r..O. ou3 or Ocr ereu _ .-qr...r ou. e.e:.3
cu.r u_ ..Ou. rc e3 :,r..O..
Java c.<r ..e.O ..u re3 o e.. c:u er.Oe _,e
Java compiler: (e...u .- ere rcu JAVA code or byte-code orr -OO :cO. )
Java virtual machine(JVM) e.. ..u byte-code or e.e:.3 cu.O .,_ecu e_e
ere. .-qr... ..uO. rcO.
Java class libraries : JAVA run r.O oO.. oeuru e. oO. .-e. application or
r..u.r Ou O oO.. c o,u_u e3.
oee. Java .-r... u_ c:u .u.< c:O. o,u
Platform independent
Object-orientated programming language
Strongly-typed programming language
Interpreted and compiled language
Automatic memory management
c:u -e cce. JAVA c.u.r e,r__ uO. o,u. o ouO oc c_.O oce. r.e_ru.
Java source file (.java) Java Compiler or ..Ou rc Bit code orr -OO :cO. .u .u. ,u
Java virtual machine or ..u. rc o. ..Ou. rc .u :,r..

Figure 11-6: Java c.u.r e,r,e.
u oc c_. .-qr... e,re.O e.u3 eO. e3 e:. oc NetBeans IDE or ..u rc..
13

Budditha Hettige (budditha@yahoo.com)



NetBeans IDE or _-. .,u. e:. Start menu All programs Netbeans Netbans IDE x.x
click rcuu ,u .-O IDE oer: Screen or _,e. u o: file menu oer: new Project
click rcuu (New project Window or _,e) [1] o: categories .Oeu o,u JAVA eu.c.
r< ce o,u Project O_u Java application eu.cuu u Next button or click rcuu.


Figure 7: New Project Window
u _,e-u Window oer: [2] -s cc., .-e. Project or e:. eqe u.r _-. euu
e.. .:c<e. o. MyFirstApp e_eu u3 rc o,u wk;=rej Project or save Ou
location tl ,nd fokak idudkHfhka Netbeans Project orr Save Oueu \My
Documents\NetBeansProjects\ .u location oer:. .-O oO.. c o. eOue r.O r<
ce o,u Browse button or click rcuu. o.O o.ucO Create a main clss e: Set as main
project .u option er ereeu rc u-. Finish button or click rcuu
.-O c:u - cce. o.r.ce. Window orr _,e oc u o. Windows oer: ._r
er.Oe c_.O :qu. .u.
Menu: :_u. o,ueu Menu or. o. File, Edit, View o. O.e.u er.Oe r:c.rO ec.
o,u.
Tool Bar: Menu orO c:_u o,ueu Tool Bar or.. o: r.e_ -u e,re. e:. oO.. Ou
e.O_3 o:.O o,u.
1
14

Budditha Hettige (budditha@yahoo.com)




Figure 11-8: Jav a Applition Window

Figure 11-9: Netbea Project Window
1
Project Window
Editor
Tools
Menu
15

Budditha Hettige (budditha@yahoo.com)


Editor: .- ereu r.e_-u. reOueu editor oer:.. o: .-O oO.. e Type r_
:,r..
Project Window: .- ocu _ O..c-u rOueu e.:.. o: o:. File .uO Click rc
oO.. File or _-. .u :,r.
u oc ogu O..c-u.r Project orr ere. o: r:. r.e_ru.r _... o e:. u .u
.u ._r rc,< r: c.r c:u rO. o,u.
JAVA c.<r ..e.O ..ue.u r.e_-u _e3 r.e_-u. _. .ueu class orr
u_. (class c_-O ceO euc rc o,u) class orrO u.ur u-. .u . oee. class oer:
Oc.. public e:. Private .u eru orr . .u.. e.e:.3 c.u. ..u :.- Ou class
oer: e.e .<.. r:c.r oO. u3
class or public . .u .
class oer: u.e.: ._ orc Capital orcr . .u ouc orcru o.c3. . .u.
class or o,u File oer: u. class oer: u3u u-. .u.
class oer: u. e:. letters, digits, underscores or dollar sign c.<r ..u r_ .u.
class oer: u. e:. keywords (public, class) ..u r_ eu.:,r
class oer: u. e:. true, false e:. null ..u r_ eu.:,r

c:u O.e3 rO. o,ueu JAVA ..e.OO o._O cOuu keywords c..

16

Budditha Hettige (budditha@yahoo.com)


Table 11-2: Jav a Key words

.:c<.r e_e oc TestClass u3u class orr ere rcueu u3 o. c:u o.r.c.O u-.
.u..
public class TestClass{
}
e.: {} e_e rO. o,u Oc:u O_u o. class oer: ce.. rO. o,u. u e.. class or
Run rc .,u.O oO.. u3 o: Main Method orr u-. .u.. class orr :. rcu O
e.e:.3 cu. ..u ..Ou. rcueu Main Method or.. o. c:u o.r.c.O. u-. .u ..
public static void main(String[] args) {
}
oc _. .u r.e_-u. Main Method oer: e._ Oc.u .._. ouc _. .u ..
.:c<.r e_e .-O uc. .. .-e. u. .<. rc .,u.O oO.. u3 o e:.
System.out.println u3 O ..u. ..u r_ :,r.. .-e. u. Saman Kumara
u3 o. .<. rc .,u.O
System.out.println(Saman Kumara);
e_e _. .u.. u.r O,u e.r _e3 .u _r< o,u_u _. .u.. oee. JAVA
c.<r ..e.e3 e. O.uu.r. oOeu Oueu ; _r<u e3 ue. O.uu oOe.ue.
ouO.c..e.u. ; _r< e.. .u .. u .- ecc ere. .u Project oer: u..e. u.
.<. Ou o.r.ce. r.e_-u.r _... o e:. .-O _,-< r.e_-ue. (Project orr
ee3 or class orr e: Main Method or e,re o,u) oO.. eO.u O_ eOuer3 eq rc
c:u o.r.c.O r.e_-u. ereuu.
e3 e:.
// TODO code application logic here e_e e:u O o,u eO.u.O c:_u
System.out.println("Saman Kumara"); e_e type rcuu

17

Budditha Hettige (budditha@yahoo.com)


u .- ereu _ r:. program or Run rcu o.r.c. e_r. -_.. e3 e:. Menu orO
c:_u o,u tools O_ RUN buttom or click rcuu

oO .-O Output Window oer: c:u o.r.ce. c_ucr _,e.

o...e. c
:u u. ..u rc c:u o.r.ce. eu.cuc, c.u. u e_eO r.e_-u.r ereuu

o e:. ..u rcu _ r.e_-u. c:u rO. o,u
System.out.println("Personal information");
System.out.println("--------------------");
System.out.println("Name : Saman Kumara");
System.out.println("Age : 25");
System.out.println("Sex : Male");
System.out.println("Address : No 45/2 Panadura");
:u c o...ee. .- ereu _ uu e_e u,Ou e:.u -_uu. o: o,u,3 uu Text
Ou ouc e.:c uu e-.. e3. .u. c.<r ..e.Or eu.e.r eu.e.r o.r.ce. uu
.-:. rc u-. .,u.O c:ere ec.. o,u uu.r .-:. rc u-. .uu. : c..<.rO
Variable orr r3u :quOu _,e. c:u -+ O.e3 rO. o,ueu oe_e JAVA ..e.e3
ruO _,e-u Variable . uu .-:. rc .,u.O e.. Variable ocO ..u r_ :,r..
e.: oc -:_O ..u rcu Variable Oc. r: c. oO. u3
18

Budditha Hettige (budditha@yahoo.com)


int: cc< e-.. c.<r .-:. rc u-. .,u.O e.. ..u r_ :,r.. .:c< e_e O.e
.-:. rc .,u.O e.. .u
Long .._ cc< e-.. .-:. rc u-. .,u.O e.. ..u rc.
Float: .. e-.. o..u e-.. .-:. rc .,u. e:. e.. Oc.. ..u rc.
Char: or character orr .-:. rc u-. .,u.O ..u rc.
String: characters r:c.ru .u u.r O,u uu .-:. rc u-. .,u.O ..u rc.

u oc Variable ..u r.c uu .-:. r,u o.rc. e_r. -_.. Variable ..u re3 oO.
ere rcu o.r.c. uu cOcu o.r.c. :. o. uu _-. .uu. o.r.c. c_O u.r u-.
.u..
Variable orr oguu o,urc .,u. e:. DataType <space> VaribaleName .u Format or
..u. r_ .u..
.:c<.r e_e O.e .-:. r, u-. .,u.O
int Age; e_e Variable orr e,re. :,r.
Age = 25; e_e Variable orO o..u c,O. :,r.
System.out.println(Age); e_e Variable oer: o.. -,_. :,r.

Keyword Description Size/Format
byte Byte-length integer 8-bit two's complement
short Short integer 16-bit two's complement
int Integer 32-bit two's complement
long Long integer 64-bit two's complement
float Single-precision floating point 32-bit IEEE
double Double-precision floating point 64-bit IEEE
char A single character 16-bit Unicode character
boolean A boolean value (true or false) true or false
19

Budditha Hettige (budditha@yahoo.com)


1.3.1 Input from Keyboard (.uc, cOc,eOu uu r..)
r.e_-u _e3 Variable O_O .uc, cOc,O o..ce.u uu r..O oO.. e3. o e:.
c:u c.Oc ou..u. rcuu.
c_.O Scanner class or import rcuu. e3 e:. .-e. JAVA file oer: :u.

import java.util.Scanner;
e_eu _.uu. u uu r..O Scanner object orr e. e:. c:u O.r. _.uu.
Scanner input = new Scanner(System.in);
u input u3u Scanner object orr e o,u o. ..ue.u ocO .uc, cOc,O o..ce.u
uu r..O :,r..
Interger Variable orrO uu r..O input.nextInt() Float Variable orrO uu
r..O input.nextFloat() String Variable orrO uu r..O input.nextLine() o. O.e.u
..u. rcuu. .:c<.r e_e interger Variable orrO uu r..O c:u c.Oc
ou..u. rcuu.
Int value; c_.O Interger Variable orr ere rc .uu
value = input.nextInt(); o.O keyboard oeru uu _-. .uu
o...e. c
:u .- _-. .u ,u. ..ue.u ee_e.e e<uO. .uc,cOc,eOu r.O. o. c,cu:.c
e<uO.O :cO. ecuOu r.e_-u.r _.uu. e3 e:. class or TempConvertor e_e
.uu
import java.util.Scanner;
// Scanner object orr e. e:. e.. e... o,u

public class TempConvertor {

// Class or TempConvertor u3u e.. o,u

public static void main(String[] args) {
// Main Method or

Scanner input = new Scanner(System.in);
// Scanner object oreru input u.u Variable orr ere. o,u

float ctemp, ftemp;
// ctemp, ftemp .u u3u float Variable z rr ere. o,u
20

Budditha Hettige (budditha@yahoo.com)



System.out.println("Enter Celsius Temperature : ");
// Screen oer: Message orr Print r.O

ctemp = input.nextFloat();
// Keyboard oeru uu r..O

// c,cu:.c e<uO. .<u. rc o,u
// e.: (float) O.e.u ere. o,ueu _,e-u c_uc float Oc..O :,c.O. e.. oc Type
cast rc. O.e.u :uO.

ftemp = (float) (32 + ctemp * 9.0/5);

System.out.println("Feranhite temperature : " + ftemp);
// Screen oer: Result orr Print r.O

}
}

.- e.eur eq rcu _ r.e_-u _e3 e.eur e.g. rc,< Main function oer:.
_.u _ oe:u .-O oO.. e_eO eOuu function _.. .u :,r. oc function O_O
Methods .u u. e...u.e.u ..u. rc.. u oc oO. ocO oO.. e_eO ere rcu
o.r.c. ee... -_..

1.3.2 Method Declaration ( Method e,re.)
Methods orr _e3 c:u rc,< c_-O c_O_u oO..u. e... r_ .u..
Optional access modifiers (Public, private, protected, static)
Return type (void, int, char )
Name
Open parenthesis
Optional list of arguments
A close parenthesis
.:c<
public static void printName(){}
public int calulateAverage(int x, int y){}
21

Budditha Hettige (budditha@yahoo.com)






:u e_eO ereu c:u o.r.c. err r_ :,r.
printName();
Avg = calulateAverage(10,34);

o...e. cz
:u c Ou o...ee. ere rcu _ r.e_-u. function ..ue.u c:u o.r.c.O
eOue rcuu
readCelTemp() u3u function orr ereuu o. Call r_ O keybard oeru
ee_e.e e<uO. r.O. return r_ .u..
CalculateTemp(float) e_e function orr ereuu o. call r_ O e<uO. .<u.
rc o. return r_ .u.. e.: ee_e.e e<uO. argument orr e_e _-. .u
.u.
printFerTemp(float, float) e_e function orr ereuu o. call r_ O c,cu:.c
e<uO. :. ee_e.e e<uO. ecuOuu
e3cc< r.e_-u. c:u rO. o,u
import java.util.Scanner;
public class TempConvertor
{

public static float readCelTemp()
{
float ctemp;
Scanner input = new Scanner(System.in);
System.out.println("Enter Celsius Temperature : ");
ctemp = input.nextFloat();

return ctemp;
}

public static float CalculateTemp(float ctemp)
Access
modifier
Return type Name

Optional list of
arguments

22

Budditha Hettige (budditha@yahoo.com)


{
float ftemp;
ftemp = (float) (32 + ctemp * 9.0/5);
return ftemp;
}

public static void printFerTemp(float ct, float ft)
{
System.out.println("Celsius temperature : " + ct);
System.out.println("Feranhite temperature : " + ft);
}

public static void main(String[] args)
{
float ctemp, ftemp;
ctemp = readCelTemp();
ftemp = CalculateTemp(ctemp);
printFerTemp(ctemp, ftemp);

}
}

1.3.3 Class orr eOuu Class orr ..u r.
.- ere rcu _ class orr .-O eOuu class orr ..u r_ :,r. e..O class re-used
c:er. .ueOu :quOu _,e. e3 e:. c:u :.:c<. e_ruu
c_.O class orr main method eu..,uO reuu. c:u .:c<e. printName() u3 public
Method orr o,u.
class student
{
public void printName()
{
System.out.println("I am a Student class");
}
}
u o. class or ..ue.u o: object orr ere rcuu
student st = new student();
23

Budditha Hettige (budditha@yahoo.com)


o. object or o.rc.O Call r_ :,r.. o e:. c:u o.r.ce. code orr ..u r_ :,r..
st.printName();
e3cc< r.e_-u. c:u rO. o,u
class student
{
public void printName()
{
System.out.println("I am a Student class");
}

}
public class FundamantalApp
{
public static void main(String[] args)
{
student st = new student();
st.printName();
}
}
Class orr Object orr uOu class orr ..u. rcu O oc o.O has a o.r.ce. e3-u.
u.O.r o,u,. r.u _,e. .:cc<.r e_e customer has an account .ueu: euc,.
customer class or u_ account class oer: Object orr o,u,. e_r..
u oc r.e_ru _e3 u. ou.O.. Ou eO_ r:c.r :.c..

1.3.4 if-then-else Statement
c.<r r.e_-u _e3 u.. O,.u Ou er.Oer. .:c<.r e_e c:u oO..u.O.
ouO r.e_-u.r _. e_ruu. _r< e-..O !c O O,: u3 Pass e_e u,uu3 Fail
24

Budditha Hettige (budditha@yahoo.com)


r. .u oOeO.Or e_ruu. e3 e:. .-O ..r eu. e:. oO.. e3. e3 e:. .-O if
statement orr e.. .u. o: Syntax or c:u re3.
if (Condition)
{
statement(s)
}
else
{
statement(s)
}

c:u .:c<. e_ruu

int marks;

if (marks >= 40)
{
System.out.println("Pass");
}
else
{
System.err.println("Fail");
}
c:u cce. reOueu if-then-else Statement orr Flow chart orr re3. o.O ouO
Condition or eu. u3 or Statement orr eu. oee u3 eOuu statement orr ..Ou.
rcO..

Figure 11-10: Flowchart of the IF Condition
.-O if-then-else Statement orr eOuu if-then-else Statement orr u_ e.. :,r. e3O.O
Nested if statement e_e u :quOu _,e. o e:. c:u .:c<. e_ruu .e _r< ouO
e.<. c:u o.rc.O Print r_ .u .,. euuu
25

Budditha Hettige (budditha@yahoo.com)


M >= 0 and M < 40 F
M >= 40 and M < 50 C
A >= 50 and M < 70 B
M >= 70 && M <= 100 A
e.. o.r.c errO _. :,u.. Nested if statement ..ue.u e:. ..u. eu..,uO.
Nested if statement ..u.r eu..,uO _.
if(m >= 0 && m <40)
System.out.println("F");
if(m >= 40 && m <50)
System.out.println("C");
if(m >= 50 && m <70)
System.out.println("B");
if(m >= 70 && m <=100)
System.out.println("A");
Nested if statement ..ue.u _.
if(m >=0 && m < 40)
{
System.out.println("F");
}
else
{
if(m < 50)
{
System.out.println("C");
}
26

Budditha Hettige (budditha@yahoo.com)


else
{
if(m < 70)
{
System.out.println("B");
}
else
{
if(m <= 100)
{
System.out.println("A");
}
}
}
}
u :u _.u _ r. e_-u err c_-O e_r. -_uu. c_. r.e_-ue. e. if
statement orr. cre. rc. oe:u eO,u o.rce. cre. r. e.. o,u. (.3
statement orr else er.OeO o,u_u Oueu o. crer. oeu. Ou O -,u u,Ou o.
cre. r. oO.. eu.e3. .:c< e_e if(m < 70) e_e o,u statement orer: Else
er.Oe Run Oue. m < 70 eu.Ou O c.< e3 ue. u,Ou m >= 70 cre. r.
oO.. u,u) e3 ue. eeOu o.r.c.O r.e_-u e,re. O:.u r.c.re. e3.
u oc if statement orr ..ue. u.u .u O,.u rc,< r:c.r e_r. -_.. If
statement orr u_ ..u r_ .ueu Condition Operators . c:u oe_e ..u r_ :,r
Operators e: oO.e. ..u. c_-O euc rc o,u.
Operator
..u.
> if(A > B) A : o.. B O O:. O,: O eu. e3
< if(A < B) A : o.. B O O:. o: O eu. e3
27

Budditha Hettige (budditha@yahoo.com)


>= if(A >= B) A : o.. B O O:. O,: e:. e..u O eu. e3
<= if(A >= B) A : o.. B O O:. o: e:. e..u O eu. e3
== if(A == B) A : o.. B : o..O e..u O eu. e3
!= if(A != B) A : o.. B : o..O oe..u O eu. e3

e..O o.ucO Logical Operators ..u rc Condition r: c.r e3-u. r_ :,r.. e.e_e
..u r_ :,r Logical Operators err.
Operator
..u.
&& if(A > 40 && A <= 50 ) A : o.. !c O O,: e: cO o: e:. e..u
O eu. e3
|| if(A ==0 || A == 3) A : o.. e:. + O eu. e3

if statement orr ..ue.u e.:c Selections r. or.c..re. e3. c:u .:c<.
e_ruu. .-O u. 2012. 03. 24 e_e _-. que:.u o. 24 March 2012 e_e print r.O
oO.. .,. euuu. u o e:. r.e_-.r _OOe:.u ..e z e:. if statements z r _.
.u -O .-O O,Oe:uO. o,u. o.O o.ucO ..e. print r_ ce u,Ou cre. r. oO..
u,u (..cu ..e. print r_ ce Aprial ..e. e:. cre. r. ouO.. e3). e.O,u oOeO.
O_ if statement orO O:. Switch ..u r. eqe..

1.3.5 Switch
or o..r c.<r cre. r_ .u O oc Switch ..u rcu _,e. Switch statement orr
Syntax or c:u rO. o,u.
switch (Variable)
{
case value : statement(s);
break;
case value : statement(s);
break;
default : statement(s);
28

Budditha Hettige (budditha@yahoo.com)


break;
}
,u oc Switch ..ue.u :u r.e_-u. _.u o.r.c. e_r. _-..




ocO cc.<r r. e_-u _e3 or. e r:cOu.Or r.O eqOu oOeO. e-.e:...
.:c<.r e_e _..ue. _r< zc r o,u_u r_ .u oOeO.Or e_ruu. e.: or.
r..... zc e,c.r r_ .u. e.O,u rO.u r. e:. oc Loops ..u rcu _,e. e3
e:. Loops Oc. c+ o,u. oO. u3 For, while e: do-while .. u oc oO. c_-O e_r.
_-..

1.3.6 For Loops
or. r..... eucO. u.u O.c .<ur eq r.O oc ec Loops ..u rc.. For loop
orr syntax or c:u euc rc o,u.
for (initialization; termination; increment)
{
statement(s)
29

Budditha Hettige (budditha@yahoo.com)


}
e.: initialization .u o.c3.r uuO.. termination .u oOeur.O o,u oOeO.O.
increment .u c_. oOeO.eOu ceO c_. c.Oec r.r . .u .uu.. oc u
.:c<.r e_e oc eO c rO. e-.. c r print rcu oOeO.Or e_ruu. o e:.
..r r_ :,r r. e_-u.r c:u rO. o,u.

for(int i=1; i<11; i++)
{
System.out.println("Count is: " + i);
}
e.: o.c3.r uuO. ( initialization ) i = 1 e_e Oue3 oO..u.O. (termination) I
< 11 e_e c_. oOeO.eOu ceO c_. c.Oec r.r . .u .uu(increment)I ++
e_eu ere. o,u. For loop orr r..r.uO. ero e.co orr ..u c:u o.r.c.O
u. :,r.. o. r.O. euc,3 .uu.


Figure 11-11: for Loop flow chart

1.3.7 While Loops
o,u,3 O u,Ou u,Ou ..Ou. r_ .u O.c .<u r_u uc<. r_ eu.:,r oOeO. o,u
oO,u Or oO..r.uO O Ou eur .3 Oc .<ur r..u.r r.O while e: do-while
..u rcu _,e. e.: while orr .3 oO..u.O.r O Ou uc, ..Ou. rc . :,r..
while orr Syntax or c:u rO. o,u.
Syntax
while (expression)
30

Budditha Hettige (budditha@yahoo.com)


{
statement(s)
}
c:u .:c<. e_ruu
int count = 1;
while (count < 11)
{
System.out.println("Count is: " + count);
count++;
}
e.: count O_ o.. O O:. O,: Ou eur e.. while loop or r..u.r e3. while loop
oer: r..r.uO. reOu flow chart orr c:u -z cce. rO. o,u.


Figure 11-12: Flow chart of the while loop
1.3.8 Do-While Loops
e.: r..r.u O. while loop oer: r..r.uO.O e-.e:. cO e..u. eOuerO o,ueu
e.: Oue3 oO..u.O. (termination)cre. rcue. oOe.u.O -,u e.. loop or
31

Budditha Hettige (budditha@yahoo.com)


r.u oO..u.O. _.. u-u oO. O.e.u or Ocr Ou ..Ou. e3. while loop oer:
Syntax or c:u rO. o,u.
do
{
statement(s)
}
while (expression);
u c:u .:c<. e_r. -_uu o: :u .:c<.. do-while loop orr o..ce.u _..
rO. o,u.
int count = 1;
do {
System.out.println("Count is: " + count);
count++;
}
while (count <= 11);
do-while loop oer: r..r.uO. reOu flow chart orr c:u -+ cce. rO. o,u.

Figure 13: Flow chart do-while loop
32

Budditha Hettige (budditha@yahoo.com)


c.<r r.e_ru _e3 Array c_-O u.r u-. u. oO.. e3. o c_-O euc,3
.,u.O c:u .:c<. e_ruu. .-O _.u c eeure. _r< o,u_u rc u-. .,u.O
oO.. .,. euuu. u .-e. ue.u e.. r_ eu.:,r -O .-O euecuO. o,u. Array
orr .u or. Oc.e. variable .._ .<ur orOc or ec_rO e.u r.e.r. e.: .-
_-. eu e-..OrO o._O or. Oc.e. variable or ec_O ee. .:c<.r e_e
variable orr e e:. c:u o.r.c.O r.e_-u. _. .u..
Type [] Name = new type[Count];
.:c<.r e_e mya u3u Array orr e. e:. c:u c:u eru. ..u r_ :,r..
int[] mya = new int[10];
mya u3u eeu Array oer: u3u int variable c r c.< o,u oO.
mya[0] ig mya[9] rO. u3 rc o,u. e.. u.. rc<. eq Oueu c_. variable or c
eOu o.c3. e3.




Array oer: o,u variable e:. uu o,u_u r.O c:u o.r.ce. eru.r ..u r_
:,r..
mya[0] = 4;
mya[3] = 1;
mya[9] = 5;


o...e. cz
cuu.r _.. c eeure. _r< c_O_u r.O. oO. u,Ou o. c_O_O print r. e:.
r.e_-u.r _.uu. e3 e:. :u e_eO. e-.. c r .-:. rc u-. .u :,r Array
orr ere rc .uu u o.O uu for loop orr o..ce.u o,u_u rcuu ouuc,O uu
print r. e:. for loop orr ..u rcuu.
e3cc< r.e_-u. c:u rO. o,u.
mya[0]
mya[1]
mya[9]
4 1 5
33

Budditha Hettige (budditha@yahoo.com)


Scanner input = new Scanner(System.in);
int[] marks = new int[10];
for( int i = 0 ; i < 10 ; i ++)
{
System.out.println("Enter Marks " + i);
marks[i] =input.nextInt();
}
for( int i = 0 ; i < 10 ; i ++)
{
System.out.println("Marks " + i + ": "+ marks[i] );
}
:u .- e.u .u u. r.e_-u _e3 u. ou.O.. e3. u oc Database orr e..
rO.u rcu o.r.c. ee... -_..

1.4 Database Connection
.--r.. e,ree3 Database orr ..u r. o Ou O ou.O.. r.c...r -OO cu
o,u. o Ou O uu .-:. rc u-. .,ue3 c..u. ..... -OO Database or cu o,u.
o Ou O Database Oc. r:c.r uu ..u. rc.. oO. u3
Microsoft Access part of Microsoft Office
MySQL very good, simple, open source
Microsoft SQL Server robust and complex
Oracle very robust and complex
IBM DB2 enterprise robust and complex
e3O. ouu u. c:eeOu :. eu.3e_ _-..u :,r database Oc.. MySQL e3. e3 ue.
oc MySQL database ..ue.u .-qr.. ereu o.r.c. e_r. -_..
.-O oO.. MySQL .-qr... http://www.mysql.com/ u3 eO o:e.u eu.3e_ _-. .u
:,r.. o. .-e. c.<re. eO.cu rc .u ce .-O oO.. database or o: ere r_
.u.. e3 e:. .u uc3 Tools o,u. .:c<.r e_e .- Wamp Server ..u rcueu u3
34

Budditha Hettige (budditha@yahoo.com)


o: o,u phpMyAdmin .-qr... ..ue.u database or c:eeOu :. r.uu e,re.
:,r.. o c_- euc e.. c.:. oOe.ue. rO. o,u.
,u .- studentdb u3u MySQL database orr e.uu. o: tblstudent u3u Table orr
ere rcuu. o: Name e: Age e_e field err ere rcuu. u o. database or ..u.
rc oc r.e_ru.r _...
u .-O JAVA Program or e: MySQL database orr o,u. u c_.O r_ .ueu JAVA
Program or ..u database orr e3-u. rc .,u. e:. e3-u..r (Connector) orr
ere. .u .u.. e.. connector or . http://www.mysql.com/ u3 eO o:e.u _-. .u
:,r.. o. .-e. Netbens Project orO ou_u rc .uu. o e:. c:u c.Oc ou..u.
rcuu.
c_.O .-e. connector or (JAR file or) Netbens Project or o,u eO.ue.. Save
rcuu
u Project oer: o,u Libraries eu.c.e.u o: Right Mouse Click rc _,e-u c,-.
oer:s Add JAR /Folder eOu .uu

u .-e. connector or eu.c. OK click rcuu.

1.4.1 Create a MySQL Connection (e3-u.. e,re.)
u oc r.e_-u.r o...ce.u database orrO e3-u. Ou o.r.c. e_r. -_. e3 e:.
u .- c_.O MySQLdbcon u3u ogu er orr e.uu o: getConnection() u3u Method
orr _.uu
public Connection getConnection() throws Exception
{
Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/studentdb";
String username = root";
35

Budditha Hettige (budditha@yahoo.com)


String password = "";
Class.forName(driver); // load MySQL driver
conn = DriverManager.getConnection(url, username, password);
return conn;
}
e.: eOue r_ .u er.Oe u orc,u .<. o,u. localhost .u .. c.<r.. -O
ecuOu ..u... .-e. r.e_-u. e: database or cOuueu or. c.<-e.: u3
oO database server oer: u. localhoste3. e.: ++ce .u database server orO e3-u.
.O ..u. r_ .u PORT or.. studentdb .u database oer: u... e...u.e.u database
server orO e3-u. e3 User Name e: Password orr e,c.. oO.. e3. e.: oc
connector or e:. JDBC connector or ..u rc o,u. :u .:c<e. User Name or
e:. root password or (null) ..u rc o,u. e...u.e.u Wamp server or MySQL
database or ..u rcueu u3 o: User name or e:. root password or (null) e3.

1.4.2 Insert a new Record (ogu Record orr o,u_u r.)
u oc ere rcu _ e3-u.. (Connection) ..u rc ogu Record orr o,u_u rcu
o.r.c. u e_r. -_.. e3 e:. .- MySQLdbcon u3u ereu _ class oer:
InsertNewRecord u3u Method orr _.uu. o. ..u rc ere rcu _ studentdb u3u
ereu _ database oer: tblstudent table oer: name e: age e_e o,u field er e:.
ogu record orr o,u_u rcuu. o e:. ..u r_ :,r r.e_-u. c:u re3.
public int InsertNewRecord(String name, int Age) throws
SQLException
{
Statement stmt = null;
ResultSet rs = null;
int rowCount = -1;
Connection MySqlConn = null;
try {
MySqlConn = getConnection();
stmt = MySqlConn.createStatement();
36

Budditha Hettige (budditha@yahoo.com)


rowCount = stmt.executeUpdate("insert tblstudent(name,
age) values('" + name + "', " +Age + ")");
System.out.println("Result : + rowCount );
stmt.close();
return rowCount;
}
:u r.e_-ue. r..r.uO. e_r. -,_e3 c_.O oO.. e3-u.. ere. .u _,e e3
e:. c:u eru. ..u rc o,u
MySqlConn = getConnection();
ouuc,O SQLeru.r ..u uu o,u_u r. eq rc o,u. e3 e:. ..u rc o,u SQL
eru. (SQL Command) c:u rO. o,u
"insert tblstudent(name, age) values('" + name + "', " +Age + ")"
ocO eOuu table orrO uu o,u_u r. e:. OO e.. Method or ..u r_ :,r ouc
o: oc eOue r_ .u Oueu SQL eru...

1.4.3 Show Records (Record O_ o,u uu _-. .,u.)
u oc ere rcu _ e3-u.. (Connection) ..u rc table orr e:. r:c.r o,u uu
_-. .u. e3 e:. .-O c:u o.r.ce. Code orr ..u r_ :,r.
public void ReadAllRecords() {
try {
Statement stmt = null; ResultSet rs = null;
Connection MySqlConn = null;
int age; String name;
MySqlConn = getConnection();
stmt = MySqlConn.createStatement();
rs = stmt.executeQuery("SELECT * FROM student");
while (rs.next())
37

Budditha Hettige (budditha@yahoo.com)


{
age = rs.getInt("Age");
name = rs.getString("name");
System.out.println(name + ", " + age);
}
rs.close();
stmt.close();
MySqlConn.close();
} catch (Exception er) {
System.out.println(Error + ex);
}
}
e3 e:. c_.O oO.. e3-u.. ere. .u .u.. o e:. :u ..u r_ eru.. ..u rc
o,u. ouuc,O SQLer u.r ..u uu _-. .,u. eq rc o,u. e3 e:. ..u rc o,u
SQL eru. (SQL Command) c:u rO. o,u
"SELECT * FROM tblstudent"
o. SQL eru. ..u r. e:. c:u o.r.ce. JAVA eru.r e... e.u o,u ouc
e...u eq Ou r.c.. u3 SQL eru.O o._O database oeru _-. eu uu rs u3 O
Record set orO _-. ..
rs = stmt.executeQuery("SELECT * FROM tblstudent");
u rs u3 O Record set oer: o,u uu ecuO. .,u.. while loop orr ..u rc o,u.
e.. while loop or Record set oer: o,u uu e.__ r.O. oOeu Ou uc, r..u.r e3.
( rs.next() : o.. false Oueu uu r.O. oOeu O O.)
while loop or u_ rs.getInt("Age") ..u Age O_O o._ integer o..u r..O
rs.getString("name") ..u Name O_O o._ String o..u r..O ..u rc o,u
oOe.ue. rs.close()e: stmt.close()..u ereu _ Variable u,Ou O,e.
rcu _,e. :u r.e_ ru. ..u rc .-O oO.. c SQL eru.u :. e,r. O_ u3
38

Budditha Hettige (budditha@yahoo.com)


oO.. c eOue re.u eOuu .u. table orr e:. r:c.r o,u uu _-. .,u.O
e.. ..u r_ :,r..

1.4.4 Delete records (Table O_ o,u uu oO.. c Ou r.)
u oc ere rcu _ e3-u.. (Connection) ..u rc table orr e:. r:c.r o,u uu
oO.. c Ou r_ :,r. (Delete r.). e3 e:. .-O c:u o.r.ce. Code orr ..u
r_ :,r.. e.. Code or ..u eu _ student ereur tblstudent table oeru Ou r.
e:. ..u rc o,u.
public void DeleteRows(String stuName)
{
Statement stmt = null; ResultSet rs = null;
Connection MySqlConn;
int rowCount = -1;
try {
MySqlConn = getConnection();
stmt = MySqlConn.createStatement();
int delete = stmt.executeUpdate("DELETE FROM student WHERE name ='"+ stuName + "'");
stmt.close();
} catch (Exception ex) {
System.out.println(Error + ex);
}
}

e.: SQLeru.r ..u uu Ou r. (Delete) eq rc o,u. e3 e:. ..u rc o,u
SQL eru. (SQL Command) c:u rO. o,u
" DELETE FROM student WHERE name ='"+ stuName + "'"
39

Budditha Hettige (budditha@yahoo.com)


o. SQL eru. ..u r. e:. c:u o.r.ce. JAVA eru.r e... e.u o,u ouc
e...u eq Ou r.c.. u3 SQL eru.O o._O database oeru oO.. c uu delete
r...
stmt.executeUpdate("DELETE FROM tblstudent WHERE name ='"+ stuName + "'");
oOe.ue. stmt.close()..u ereu _ Variable u,Ou O,e. rcu _,e. :u
r.e_ru. ..u rc .-O oO.. c SQL eru.u eOue re.u eOuu .u. table
orr e:. r: c.r o,u uu Ou r_ :,r..

1.4.5 Update records (Table O_ o,u uu oO.. c eOue r.)
u oc ere rcu _ e3-u.. (Connection) ..u rc table orr e:. r:c.r o,u uu
oO.. o.r.c.O eOue rcu o.r.c. u e_r. -_.. e3 e:. .-O c:u o.r.ce. Code
orr ..u r_ :,r.. e.. Code or ..u eu _ student ereur e. O.e oO.. c
eOue rcu o.r.c. rO. o,u.
public void updateAge(String name, int newAge )
{
try {
boolean result = false; Connection MySqlConn;
Statement stmt = null;
MySqlConn = getConnection();
String sql = "UPDATE tblstudent SET age = ? WHERE name = ?";
PreparedStatement prest = MySqlConn.prepareStatement(sql);
prest.setInt(1, newAge);
prest.setString(2, name);
int executeUpdate = prest.executeUpdate();
if (executeUpdate > 0) {
System.out.println("Record Updaqted");
}
MySqlConn.close();
40

Budditha Hettige (budditha@yahoo.com)


} catch (Exception ex) {
System.out.println(Error + ex);
}
}
e.: SQLeru.r ..u uu eOue r. (Update) eq rc o,u. e3 e:. ..u rc o,u
SQL eru. (SQL Command) c:u rO. o,u
" UPDATE tblstudent SET age = ? WHERE name = ?"
o. SQL eru. ..u r. e:. c:u o.r.ce. JAVA eru.r e... e.u o,u ouc
e...u eq Ou r.c.. u3 SQL eru.O o._O database oeru oO.. c uu update
r...
String sql = "UPDATE tblstudent SET age = ? WHERE name = ?";
PreparedStatement prest = MySqlConn.prepareStatement(sql);
prest.setInt(1, newAge);
prest.setString(2, name);
int executeUpdate = prest.executeUpdate();
e.: uu oO.. c ere rc .,u. e:. PreparedStatement orr ..u rc o,u. o:
prest u3u Object orr ere. o,u.
prest.setInt(1, newAge) e: prest.setString(2, name) ..u PreparedStatement orO
oO.. c uu o,u_u rc o,u ouc prest.executeUpdate(); ..u oO.. PreparedStatement
or RUN rcO. o,u
:u o.r.c.O database orr ..u rc uu _ .O r..O eOue r.O :. Ou r.O
oO.. eru.u .- :.cu _ u oc oO. eOuu class orr Main Method orr ..u
rcu o.r.c. c:u euc rc o,u.
MySQLdbcon con = new MySQLdbcon ();
// e.: oguu con u3u Object orr ere. o,u
MySqlConn = con.getConnection();
// e.: connection orr ere. o,u
//ecc .- _ methods c:u ..u r, o,u
41

Budditha Hettige (budditha@yahoo.com)


con.InsertNewRecord("saman", 34);
con.InsertNewRecord("ruwan", 33);
con.ReadAllRecords();
con.DeleteRows("saman");
con.updateAge("ruwan", 35 );
con.ReadAllRecords();
:u oc e_r. -_u _,-e3 MySQL database orr ..ue.u r. e_-u ereu
o.r.c... e.: oc Graphical User Interfaces (GUI) ..u eu.rcu _ ouc Text Window
c.<r ..u rc uu e,re. eq rcu _. oe:u Graphical User Interfaces (GUI) ..u
r. Ocu..ue. .-qr.. e,ree3 u. ce..euOu e3. o..u ocO User friendly
r.e_ru.r e,ree3 :,r..O _,e. u oc GUI ..u rc r.e_-u.r ereu o.r.c.
ec_O e_r. -_..

1.5 GUI Applications e,re.
.-O u. c:eeOu GUI orr ere rc .,ue3 c:er. u NetBens IDE or ..u _-.
o,u. e...u.e.u GUI orr e. e:. .-qr.. Oc. err o,u oO. u3 Stand-alone
applications e: Applets . e.e_e GUI e. e:. ..u r_ :,r Stranded GUI library Oc. z
r o,u oO. u3 AWT e: SWINIG .. e3O. ..ue.u GUI orr ee3 ou..u. r_
.u r.. c_O_r o,u ou3
1. Design the user interface (user interfaceou ere rc .,u.)
2. Writing the application logic (.-e. .-qr..e.u eq r.O oO.. e _.)
3. Writing event-handling code (Keyboard or mouse Events oO.. c ere r.)

42

Budditha Hettige (budditha@yahoo.com)


1.5.1 Design the user interface
e3 e:. c_.O interface or ere r.O oO.. Ou Top level containers eu.c. .u .u..
oee ..u r_ :,r Top level containers r:c.r. oO. u3
JWindow - Basic no frills window, just a square on the screen
JFrame - The basic Swing window. Offers basic window controls, resizable
JDialog -For building dialog boxes, e.g. File open/save
JApplet For building applets, embedded into a web page

u oc Netbeans o..ce.u eu.c. .uu. o.r.c. e_r. -_.. e3 e:. Netbeans O_ File
new eOu .uu _,e-u Window oer:
Swing GUI forms eOu .uu
File type or eu.c.e.u Next click rcuu (.:c<.r e_e JFRAME FORM eOu
.uu)
u _,e-u Window oer: class e:. u. _-. euu oee. file save Ou eO.u.u
c_-O e,_r_.u Ouu
u Finish Click rcuu

Figure 14: New file Selection Window
u .-O JFRAME application orrr _,- o,u. e.. application or :. r_ O .-O
c:u o.r.ce. Window orr _,e
43

Budditha Hettige (budditha@yahoo.com)



Figure 11-15: Basic JFRAME Window

u oc e3 _,-u Window or oO.. c eOue rc.. 3 e:. .- c_.O Window or
Select rc.uu oO o: properties Window or ee3
44

Budditha Hettige (budditha@yahoo.com)



Figure 11-16: JFRAME Prorties Window
o: properties oO.. c eOue re.u Window or oO.. c ere rc .u :,r..
-:_O. eOue r.O oO.. Ou .< r: c.r c:u rO. o,u
Name: ..u rcu Control or :quOOu u..
Title: Window oer: Title or e.... e.: typ e rcu e. Title text orr e_e eceu
Default Close Operation: Window or cloase r_ O r.r eq e3 .uu e..u rc<. rcu
_,e oO. ! r
Hide
Exit on Close
Do nothing
Dispose
u oc r_ .ueu e.. Window orO oO.. c Controls oru r... e3 e:. Palette
..u r_ :,r. o: o,u Controls c:u ,re3.
45

Budditha Hettige (budditha@yahoo.com)



Figure 11-17: Swing Controls

u oc or or Controls ..u rcu o.r.c. eOu eOu. e_r. -_..
Label: Label orr oc e...u.e.u ..u rcu _-ueu e-.o oer: ..r c.u.
r.O.. Label orr rc .,u. e:. .- r_ .ueu Palette oer: Label click rc .-e.
Window oer: oO.. u,uO drag and drop r...

u .- o,u_u rc .uu. _ Label or .u doble click rcuu oO .-e o. Label or .u
Type re3 oOeO.O _,e. u .- Label or oO.. c eOue rc .uu. Font or or O_
Oc<. :. c..<. o.. eOue r.O oO.. u3 properties Window orO e..e oO..
eOue r3 c:eeOu eq rcuu. e.: u.u .u O,.u rc,<r u3 Label orr Text or
eOue r. e:. setText property or ..u rc. .:c<.r e_e .-e. Label or e:.
please login .ueOu ere r.O oO.. u3 o e:. .-
jLabel1.setText("please login ");
O.e.u ere r_ .u. e.: jLabel1.u Label oer: u...
46

Budditha Hettige (budditha@yahoo.com)


Text Fields: uu o,u_u r.O :. eOue r.O oc ..u rcu _-ueu Text Fields ..

Text Field uu _. e:. ..u re3 setText property or ..u r_ .u. .:c<.r
e_e .-O Text Field oer: Saman Kumara e_eu print r_ .u .,. euuu. e3 e:.
.- jTextField1.setText("Saman Kumara"); e_eu eru. _. .u.. e.: jTextField1 .u o.
Text field oer: u... oee . .-O jTextField1 oer: o,u u u.r r..O oO.. .,.
euuu. e3 e:. .- getText() Method or ..u r_ .u.. _. .u code or String
name = jTextField1.getText(); e3.
Text field Oc. r:c.r o,u. oO. c:u rO. o,u
jTextField: e.. e...u.e.u oc ..u rcue. or ec_.r uu (Single line text)
r.. e:..
Password Field:e.. oc ..u rcue. Password orr _-. .,u. e:. e.: o,u
e.euO. Oueu e.: o,u uu e.e _r<ru () c.<r c.u. ..
Text Area oc ..u rcue. ec_ r:c.r uu (multiple line text) r.. e:..
Formatted field: eu _ format orr ouO oO.. c uu r..O (.:c< e_e
u. xxxx/xx/xx r..O)
Text Pane e: Editor Pane .u text editor orr e_e ..u r_ :,r Text Area orrr
u .-e. oO.. u.O. ouO eqe Text field Oc. eu.c. .uu
o...e. c!

Buttons: GUI or u_ oO.. r.c..u Events r. e:. oc buttons e... .u _,e.
.:c<.r e_e Windw or close r. e:. oc close button or e... .u oee . ..r
Cancel r.O oO.. u3 cancel button or e... .u _,e. buttons orr .-e. GUI or
u_O o,u_u re3 c:u c.Oc u..u. rcuu. c_.O Place the button (buttons or GUI
or u_ oO.. eO.ue. cOuu) u ouuc,O Rename the button (buttons oer: oO..u.O.
ouO u. e: eceuu u. (Name and Caption) eOue rcuu) ouuc,O Add action event
oO.. event or o,u_u rcuu. e3 e:. c_.O button or select rc right mouse button or
click rcuu u _,e-u menu oer: events O_O .uu o: action O_ action perfomance
O_O .uu
47

Budditha Hettige (budditha@yahoo.com)



Figure 18: Add new even t on a button
oO .-O function orr _,e. e.: oO.. r.e_-u. _.uu. .- button or click r_ O
run Ou function or e....
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
.-O e.. function or er_u. _-. .u :,r c:e uOu erc r..r o,u o e:. .- r_
.ueu .-e. button or .u double click r. c.< . u .-O r.O uO o,ueu :u
ere. .u function or oO.. u.O. ouO eOue r. c.<. o e:. ecc e.u.u u.
..u rcuu.
e.:c oOeO.O_ or button orr e:. event r:c.r e..O eqe3 :u oc ..u rcu
_,-e. action O_ action performance event or c.< .-O eOuu event orr o,u_u
r.O oO.. u3 .- :u e_eO button or select rc right mouse button or click rcuu
u _,e-u menu oer: events O_u oO.. events or eu.c. .uu.
o...e.
:u .- _-. .u u . ..u rc c:u o.r.ce. GUI orr e.uu. o e:. text ecu.O
label text field e: password fields ..u rcuu. - cce.: oee ere rcu _
login Window orr re3.
48

Budditha Hettige (budditha@yahoo.com)



Figure 11-19: Login Window
Combo box: uu r:c.r o,u u,uru orr eu.c. .,u. e:. o,u O oc e...u.e.u
Combo box orr ..u rcu _,e. e3 e:. c_.O :u e_eO. .- Palette oer: combo
box click rc .-e. Window oer: oO.. u,uO drag and drop rc.uu.

ouuc, .- e.. Combo box orO oO.. uu o,u_u r_ .u. o e:. Model orr ..u
rcuu. o e:. .- Combo box oer: Properties Wndow oer: Model O_O e..e o: o.
o,u r:. button or click rcuu

oO .-O Combo box model editor or _,e. o: .-O oO.. eOue r3 eq rcuu.

Figure 11-20: Combo box editor
49

Budditha Hettige (budditha@yahoo.com)


:u -zc cc. -_uu. o. Gender information oO.. c _-. .,u.O ..u rc o,u. u
e.. c.- r_ O c:u o.r.c. ruO _,e. o.u .-O oO.. uu. eu.c. .u :,r..

u Combo box orr o,u Select rc.uu. _ uu.r function orr _-. .,u. e:. c:u
o.r.ce. code orr ..u r_ :,r..
String ss;
ss = (String)jComboBox1.getSelectedItem();

Dialog box: .-qr.. ere re3 messages ecu.O dialog box ..u rcu _,e. e3O.
JOptionPane class or ..ue.u ere. o,u. Dialog box Oc. c+ r
Message Dialog - a dialog box that displays a message (messages ecu.O).
Input Dialog - a dialog box that prompts the user for input (input _-. .,u.O).
Confirm Dialog This is a dialog box that asks the user a Yes/No question (c_ucr _-.
.,u.O)


Message Dialog orr ..u r.O c:u o.r.ce. Code orr ..u rcuu
JOptionPane.showMessageDialog(null, "This is a message");

50

Budditha Hettige (budditha@yahoo.com)


oee. .-O oO.. u3 Message Dialog oer: Oc.. eOue r_ :,r.. o e:. ..u r_
:,r Oc. c:u rO. o,u.
JOptionPane.ERROR_MESSAGE
JOptionPane.INFORMATION_MESSAGE
JOptionPane.WARNING_MESSAGE
JOptionPane.QUESTION_MESSAGE
JOptionPane.PLAIN_MESSAGE
e3O. ..u r.O :u code or c:u e_eO eOue rcuu
JOptionPane.showMessageDialog(null,"Invalid Data",
"My Message Box",
JOptionPane.ERROR_MESSAGE);

.: Invalid Data .u eO.u.O Message or My Message Box e_e o,u
eO.u.O Message Dialog oer: Title or ouuc,O Message Oc.. o,u_u rcuu
:u o.r.c.O. input Dialog orr ..u r.O c:u o.r.ce. Code orr ..u rcuu
String name;
name = JOptionPane.showInputDialog("Enter your name.");

51

Budditha Hettige (budditha@yahoo.com)


e.: type rcu _ c_uc Name u3 O String Variable orO _,e.
Confirm Dialog orr ..u r.O c:u o.r.ce. Code orr ..u rcuu
int value;
value = JOptionPane.showConfirmDialog(null,"Are you sure?");

e.: User Select rcu c_uc ouO c:u Option O_u orr _,e.
JOptionPane.YES_OPTION
JOptionPane.NO_OPTION
JOptionPane.CANCEL_OPTION
.:c<.r e_e User Select rcu c_uc _-. .,u.O c:u o.r.ce. eru.r ..u r_
:,r..
int value;
value = JOptionPane.showConfirmDialog(null, "Are you sure?");
if (value == JOptionPane.YES_OPTION){
//If the user clicked Yes, this code is executed.
}
else if (value == JOptionPane.NO_OPTION){
//If the user clicked no, this code is executed.
}
else if (value == JOptionPane.CANCEL_OPTION){
//If the user clicked Cancel, this code is executed.
}
52

Budditha Hettige (budditha@yahoo.com)


Window Management
.-qr.. ere re3 or Window orr eO uOu Window orr _-. .,u. u. O,.u..
e3 e:. c:u rc,< c_-O e,_r_.u Ouu.
.:c<.r e_e oc ecc ereu _ login Window or e_ruu. o. eOuu Window orr
eO _-. .,u.O c:u e:u eO_ r_ .u .. c_.O login Window oer: Object orr e..
.uu. o e:. c:u o.r.ce. eru.r ..u r_ :,r..
NewJFrame login = new NewJFrame();
u .-O Window or _-. .,u.O oO.. u3 .- r_ .ueu c:u code orr ..u rcuu.
e.: setVisible(true) ..u Window or c.u. rc..
login.setVisible(true);
.-O u,Ou o. Window or Hide rc .,u.O oO.. .,u.O oO.. u3 .- r_ .ueu
login.setVisible(false);e_e eOue r..
oee. .-O object orr e.. .,ue.ru eu.cO e.. r_ :,r. o e:. c:u o.r.ce.
Code orr ..u rcuu.
new NewJFrame1().setVisible(true);
e...u.e.u e3 o.r.c.O Window r: c.r _-. .,u. e:. menu ..u r. e...u.
r.... u oc ere rcu _ Window orrO Menu orr o,u_u rcu o.r.c. ee... -_..
o e:. plate oer: o,u Swing menu or ..u. rcuu (-z cc. ..u rcuu)

Figure 11-21: Swing Menu
Menu orr o,u_u r. e:. c_.O Window orO Menu Bar or o,u _u rcuu e3 e:.
Menu bar or select rc Window orO Drag and Drop rcuu.

oO :u cce. o.r.ce. Menu orr _,e. e3 Menu or e:. .-O Menu, Menu Items,
Seperator o.. ..u rc oO.. o.r.c.O Menu or ere r_ :,r.. u o. Menu orer:
53

Budditha Hettige (budditha@yahoo.com)


oO.. eO.u Click rc Rename rc .uu. oee. Shortcut or .u Click rc oO.. Shortcut
or _-. euu.

u e.. Menu e:. Action Perfomance event orr o,u_u rc .,u.O e:. .- r_ .ueu
o. Menu item or Select rc Right click rc Event eOuO .uu o: Action eOu e..e
actionPerformed eOu .uu.

oO .-O c:u o.r.ce. function orr _,e. o: .-O oO.. o.r.ce. eOue r3
eqrcuu.
private void
jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
o...e.
c:u o.r.c.O Menu orr ere rcuu
File
o Open
o Close
o SEPERATOR
o Exit
Edit
o Copy
o Paste
o Edit
Setting
o Tools
54

Budditha Hettige (budditha@yahoo.com)


o Configure
Help
o Help
o About Us

:u oc e.u .u u. .-qr.. e,re. e:. u. ce..euOu.. o. u. ..u rc oc
oce. oO.. u.O. ouO .-qr.. ere rcu o.r.c. u e_r. -_..

1.6 Software Development (Example)
u oc :u u. ..ue.u .-qr...r oO..u.O. ouO ere rcu o.r.c. e_r. -_..
e3 e:. oc ce...r .:c<.r ..u rc.. c:u ee. r.Ouu.
e.u er.3.uereu (Saman Communication) .u c.uqc u.ce. -e u,.u3 c_
o.euue. c:c ce. er.3.uereu orr. e.: reload 2., Phone cards ru.,
Photocopy .,e. e: CD r_.O . eq rc.. o. r..rcr3 e3cc<e.u. c.<r .u
r. e:. er.3.uereu oer: :3 rc,O oO.. o,u. o e:. .-qr...r ere. ..O
.-O oO.. o,u,. euuu. :u .- e.u .u e.g. u. ..u rc .-r...
ereuu. o e:. ou O,_r c:u rO. o,u.
c.Oc c
c_.O .- .Oue. oO..u. System Requirment :qu. .u .u.. e3 e:. o. eO.u.O e.e
cre. re.u eeOr.u e.. e.rce. re.u eOuu .-qr.. cre. re.u _-.
.uu. u o. u. ..ue.u project proposal orr ereuu.
System Requirment
Software requirement
Hardware requirement
c_-O e_ruu. .:c<.r e_e c:u oO..u. ee... .ueu .,. euuu.
Reload 2e3 o.c3-e. or or Mobile Oc..O o._O ._r o,u_u rcu _-.
.:c<.r e_e Dialog 5000, etisilat 3000 Mobitel 2500 O.e.u. ouuc,O Reload 2e3
ctomer e.u Oc.. :. ._ c.<r _-. .u _,e. Dialog 100, Mobitel 50 o. O.e.u
Reload 2e3 o. ._ .g ._u o:e3 ._ c, cc O o: O O message orru o- O
ecu. .u.. oee. e.. uu e3_.O e:uO .-:. u-. .u..
Phone cards ru. :. Photocopy .,e. c.<r .u eu.rcu ouc oO. eOu. eq rc..
CD r_.O e3 CD oer: u. :. eru. .-:. rc .u _,e. CD r_.O . u c+ rO eq
rcu _-u ouc ce Ou e. urO. c, zc -,.u : .eu _,e. o: o. _-uu.e. u.
55

Budditha Hettige (budditha@yahoo.com)


qcruu or. :,qu3cu or. :. _cu. .-:. rc .u _,e. or c._.rO _-. eueu
CD + r c.<r Ou ouc oO. o.ce e.u ceO eOuu oO. _-. .u :,r..
oee. er.3.uereu oer: :3rc,O c:u O.cO. oO.. c _-. .u :,r . .u.
Reload ..u. (e.: or or Oc.e.: uO uc,O o,u ._ :. o u uO
..u rc o,u Reload .uu ecu. .u.
CD rent list uO r_.O o,u CD (o.ce ..c eu..,u)
eu.c. .uu. _ customer ereur e. euc :. _-. .uu. _ CD c..<.
c.u. r.O
e.. .-qr... eO.cu r. e:. Software :. Hardware requirement eu.c. .uu

c.Oc cz
u .- ere. .uu. _ :u oO..u. oO.. o. e.. e.rce. rc ec rc.uu. ouuc,O
.-qr..e.: e,r,e. ereuu
e.: uu .-:. r. e:. database orr oO.. -O .-O O,Oe:uO. o,u. e3 ue. .-
oO.. c o. Desing rcuu o e:. ER diagram or ouu. o ouO oO.. c database
or ere rcuu.
u e3cc< e,r__ e.. .uu o: input, output e: or or er.Oee: r.c.. eOu eOu.
ere rc.uu. Code r. o,c7.O cO. .-qr... .,u e3cc< o:er u-. O,.u..

c.Oc c+
u .- JAVA ..ue.u .-qr... e,re. o.c3. rcuu o e:. GUI ..u rcuu

c.Oc c!
u .- .- ere rcu _ .-qr... uO,cO r..u. OuO.. cre. rcuu o e:. or
or Window orr e:. eO eOu. test plan ere rcuu. oee. e.. .-qr... e:. User
manual e: Maintains manual orr ere rcuu.

c.Oc c
56

Budditha Hettige (budditha@yahoo.com)


:u e.__ oOeu O ce .-O .- ere rcu _ .-qr... e.u er.3.uereu oer:
eO.cu. (install) r_ :,r. .-e. .-qr..e. Source code _-. . oO.. u,u o. .- _.
u-. .,u. O:. e qe.. er.3.uereu oer: eO.cu. r_ .ueu .- ere r_ netBeans
project oer: project folder oer: dist u3u folder orr o,u o: o,u JAR file or e3
e:. ..u r_ :,r.. o: database orO e3-u. .O oO.. e--,eo eer, or o.
JAR file or o,u eO.u.e.:. u-. .,u.O O. -_. .uu. oee. e.. .-qr... c.<r
r:c.r ..u rcueu u3 or database orr c.<r ..u r_ .u ouc o.O oeuru
c.<r O_u e3-u. . e:. e._ c:er3 u-. .u ouc e3-u.. e,ree3 localhost
eOuOO o._ c.<re. IP address or e.. .u. .:c<.r e_e
String url = "jdbc:mysql://localhost:3306/studentdb"; e_e ereu _ e3-u..
String url = "jdbc:mysql://192.168.1.2:3306/studentdb"; O.e.u eOue rcuu.

You might also like