meljun cortes manual intro information system java applets comp02

Upload: meljun-cortes-mbampa

Post on 04-Jun-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    1/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES COMP02: Introduction to Inor!ation Sy"te!"

    Under t#e I$Carne%ie Modu&e SS'(: Introduction to Inor!ation Sy"te!"

    Unit (. T#e )or&d )ide )eb

    (.( U"in% t#e )eb

    (.(.( Surin% t#e )eb

    (.(.2 *our )eb Pa%e"

    (.(.+ C&ient", Ser-er", and URL"

    (.(. Searc#in% t#e )eb

    (.(./ Co!!erce on t#e )eb

    2 (.(. So!e Et#ica& Con"ideration"

    (.2 )#at1" in t#e )eb

    (.2.( )#at1" in a )eb Pa%e

    (.2.2 3 4ir"t Loo5 at 6TML

    (.2.+ 3 More 'etai&ed Loo5 at 6TML

    (.2. Creatin% Lin5" to Ot#er 'ocu!ent"

    (.2./ I!a%e" and Mu&ti!edia

    (.+ )ritin% )eb Pa%e"

    (.+.( Or%ani7in% t#e Proce""

    (.+.2 So!e 4ina& T#ou%#t"

    College of Computer Studies 1

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    2/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    Unit 2. Introduction to Ja-a

    2.( Readin% and Modiyin% a Ja-a Pro%ra!

    2.(.( Introduction

    2.(.2 Readin% a Ja-a 3pp&et

    2.(.+ 6o8 to Run a Ja-a 3pp&et

    2.(. 3 Second Loo5 at Ja-a 3pp&et"

    2.2 9rap#ic" and ariab&e"

    + 2.2.( T#e 3pp&et, 9rap#ic", and Co&or C&a""e"

    2.2.2 Type", ariab&e", and Identiier"

    2.+ Ob;ect$Oriented Pro%ra!!in%

    2.+.( C&a""e", Ob;ect", and In#eritance

    2.+.2 Met#od"

    2.+.+ 3 Re-ie8 o OOP

    2. Under"tandin% C&a""e"

    2..( )id%et":

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    3/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    Unit +. T#e Ja-a Lan%ua%e

    +.( Ja-a 4unda!enta&"

    +.(.( 3rit#!etic Operator" and E=pre""ion"

    +.(.2

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    4/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    UNIT 1. THE WORLD WIDE WEB

    Internet

    I" a co!puter net8or5 t#at connect" !i&&ion" o co!puter" acro"" a

    nu!ber o countrie"

    )a" ori%ina&&y concei-ed o by t#e 3d-anced Re"earc# Pro;ect 3%ency

    >3RP3? o t#e U.S. %o-ern!ent in t#e (@0".

    Net8or5 o net8or5"

    World Wide Web >or "the WebA or "#ort?

    Reer" to t#at portion o t#e co!puter" on t#e Internet t#at can

    co!!unicate 8it# eac# ot#er u"in% a co!puter$net8or5 protoco& ca&&ed

    6TTP. 3&& bro8"er" u"e 6TTP to reBue"t and recei-e )eb pa%e" ro!

    ot#er co!puter".

    Two major areas o !ontrol

    (. Na!in% o a "ite on t#e )eb

    2. T#e ru&e" o an Internet er#i!e $ro#ider>I$?.

    3n I$ i" any one o a nu!ber o co!panie" t#at enab&e" you not on&y to

    connect to t#e Internet and "ur t#e )eb but a&"o to pub&i"# )eb pa%e".

    College of Computer Studies 4

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    5/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES ear!h en%ine i" a pro%ra! t#at a&&o8" one to "earc# or 5ey8ord" in i&e" at

    one or !ore Internet "ite". Popu&ar "earc# en%ine" inc&ude Lyco", E=cite, and

    3&tai"ta.

    &lient a''li!ation

    ReBue"t" inor!ation ro! a "er-er app&ication or a"5" t#e "er-er to

    peror! "o!e ta"5 on it" be#a&.

    Typica&&y run on &e"" po8eru& co!puter"

    er#er a''li!ations

    Supp&ie" t#e inor!ation

    Typica&&y run on po8eru& co!puter", "ince t#ey need to be ab&e to "er-ice

    concurrent reBue"t" ro! a nu!ber o c&ient".

    URL>Uniorm Reso(r!e Lo!ator?

    Speciie" t#e &ocation o a )eb "ite >or o a pa%e 8it#in t#e "ite?

    U"ua&&y be%in" 8it# an e&e!ent t#at identiie" t#e co!!unication protoco&

    to be u"ed to acce"" t#e i&e t#e URL identiie".

    3&"o 5no8n a" )eb addre""

    &omm(ni!ation 'roto!oli" a %enera&&y a%reed upon "et o "tandard" and ru&e"

    t#at !ac#ine" o&&o8 8#en t#ey co!!unicate 8it# eac# ot#er.

    College of Computer Studies 5

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    6/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    $roto!ols (sed in the Internet

    (. #ttp Hyperte=t Tran"er $rotoco&

    2. tp )i&e Tran"er $rotoco&

    +. %op#er

    . ne8"

    /. !ai&to

    Browsin% denote" t#e acti-ity o o&&o8in% #yper&in5" t#at one encounter" on

    "ucceedin% pa%e".

    ear!hin%in-o&-e" t#e u"e o a co!puter pro%ra! ca&&ed a search engine.

    ear!h en%inei" a %eneric one t#at reer" to a c&a"" o pro%ra!", t#ou%# t#e

    !e!ber" o t#i" c&a"" !ay e!p&oy -ery dierent "earc# !ec#ani"!".

    Two t*'es o sear!h sites on the Web

    Site" t#at eature a "earc# en%ine.

    Site" t#at eature a )eb directory.

    &ommon web+based Internet !ommer!e ,also -nown as e+!ommer!e

    College of Computer Studies 6

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    7/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES Internet Ser-ice Pro-ider" >ISP"?

    3d-erti"in%

    Co!!ercia& Tran"action"

    HTML"tand" or Hypertext Markup Language

    Lan%(a%ei" a ter! 8e a&& under"tand. 3 &an%ua%e i" a "y"te! o "i%n"

    u"ed or co!!unicationD8ritten and ora&. .

    /ar-(', in paper pub&i"#in% conte=t", i" t#e proce"" o preparin%

    !anu"cript" or type"ettin% by !ar5in% t#e! 8it# direction" about ont

    type and "i7e, indentation, "pacin%, and t#e &i5e. In e&ectronic pub&i"#in%,

    t#e "a!e princip&e app&ie", on&y in"tead o !ar5" !ade by penci& or pen,

    or!attin% direction" are con-eyed by notation ca&&ed Ata%"

    Te0t reer" to t#e 8ord" on t#e co!puter "creen t#at 8e are !ar5in%

    up. T#e ter! Ate=t or!atA denote" t#e p&ain c#aracter" o t#e 3SCII

    >3!erican Standard Code or Inor!ation Interc#an%e? c#aracter "et. 3" it

    i", te=t or!at i" t#e "i!p&e"t or!at in 8#ic# to "tore 8ritten !ateria&",

    and te=t i&e" contain on&y t#e 0c#aracter" o t#e 3SCII c#aracter "et

    H*'er "#ou&d be co!bined 8it# t#e ter! Ate=tA in t#i"

    di"cu""ion. 6yperte=t a" a concept de-e&oped ro! anne-ar

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    8/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 8a" ne-er bui&t, t#e notion o creatin% &in5ed, non&inear "tructure" o

    inor!ation endured. 3 #yperte=t docu!ent i" Buite dierent ro! a

    traditiona& printed docu!ent. In a printed docu!ent, t#e order in 8#ic#

    inor!ation i" pre"ented i" &inearDt#at i", "entence ( precede" "entence

    2, 8#ic# in turn precede" "entence +, and "o it %oe" on up t#e &e-e&" "o

    t#at c#apter ( precede" c#apter 2, 8#ic# precede" c#apter +, and "o on.

    6o8e-er, a #yperte=t docu!ent contain" &in5", and by c&ic5in% a &in5, a

    u"er i" ta5en to a dierent pa%e or dierent part o t#e "a!e pa%e. I t#e

    u"er t#en c&ic5" ot#er &in5", #e or "#e i" ta5en to anot#er pa%e or part o

    t#e "a!e pa%e. T#u", t#e u"er can o&&o8 a non&inear pat# t#rou%# t#e

    docu!ent or docu!ent", u"in% t#e &in5" pro-ided by t#e aut#or and

    encounterin% t#e inor!ation t#ere in an order t#at depend" on t#e

    c#oice" t#at bot# t#ey and t#e 8riter #a-e !ade.

    HT/L i" a or!attin% &an%ua%e u"e in order to create a 8eb pa%e

    Ta%s "y!bo&" t#at te&&" t#e bro8"er #o8 to di"p&ay te=t. Ta%" "#ou&d be

    enc&o"ed in a pair o an%&e brac5et".

    The /ain &om'onents o an HT/L

    3n 6TML docu!ent "#ou&d be%in and end 8it# t#i" ta% pair:

    F6TMLG

    FH6TMLG

    College of Computer Studies 8

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    9/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES I!!ediate&y ater t#e F6TMLG ta% "#ou&d be t#e o&&o8in% ta% pair to denote t#e

    docu!ent #eader:

    F6E3'G

    FH6E3'G

    In bet8een t#e F6E3'G FH6E3'G pair "#ou&d be t#e FTITLEG FHTITLEG ta%".

    T#e tit&e o t#e docu!ent i" "peciied 8it#in t#e!. T#i" tit&e 8i&& be di"p&ayed in

    t#e tit&e bar o t#e )eb pa%eDor e=a!p&e,

    F6TMLGF6E3'GFTITLEGMy 4ir"t )eb Pa%eFHTITLEGFH6E3'GFH6TMLG

    Ne=t co!e t#e be%innin% and endin% AF

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    10/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES FIG FHIG Italics

    FTTG FHTTG Mono"pace>i=ed 8idt#?

    FUG FHUG Under&ine

    FSU

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    11/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES T#e"e are u"ed in a !anner "i!i&ar to t#e 8ay p#y"ica& ta%" are u"ed, but t#e

    bro8"er decide" #o8 to di"p&ay t#e te=t. 4or e=a!p&e, t#e o&&o8in% 6TML te=t:

    T#e o&&o8in% i" FSTRON9G "tron%&y e!p#a"i7ed te=t

    FHSTRON9G.

    !i%#t &oo5 &i5e t#i" in Net"cape

    T#e o&&o8in% i" stron%l* em'hasied te0t.

    and &i5e t#i" in Internet E=p&orer

    T#e o&&o8in% i" "tron%&y e!p#a"i7ed te=t

    F#rG $ 6ori7onta& Line

    FbrG $ Line brea5

    FpreGFHpreG $ Preor!atted Te=t

    FontGFHontG $ u"ed to c#an%e t#e 4ont ace, "i7e and co&or.

    Two t*'es o List

    (. Unordered &i"t Fu&GFHu&G

    2. Ordered &i"t Fo&GFHo&G

    &reatin% a Table in HT/L Do!(ment

    Ftab&eGFHtab&eG $ create" a tab&e

    Ft#GFHt#G $ Tab&e 6eadin%

    FtrGFHtrG $ Tab&e Ro8

    College of Computer Studies 11

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    12/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES FtdGFHtdG $ Tab&e 'ata

    Two !ommon ima%e iles

    T#e .;p% e=ten"ion i" u"ed or 2$E3>Joint P#oto%rap#ic E=pert" 9roup? i&e".

    JPE9 i&e" are co!pre""edD8#ic# !ean" t#at t#e data t#ey contain i" "tored in

    a !anner t#at reduce" t#e a!ount o inor!ation needed to reproduce a picture.

    I t#e data 8a" not co!pre""ed, JPE9 i&e" 8ou&d be !uc# &ar%er and 8ou&d ta5e

    !uc# &on%er to tran"er o-er t#e )ebD8#ic# i" 8#at !u"t #appen or t#e

    i!a%e" to be di"p&ayed by a bro8"er. 3&"o, !o"t bro8"er" "tore i!a%e i&e" on

    t#e u"er1" #ard dri-e, "o t#at i t#e u"er 8ant" to -ie8 an i!a%e a%ain, t#e i!a%e

    can be di"p&ayed !ore Buic5&y by bein% read ro! t#e dri-e rat#er t#an

    tran"erred a%ain o-er t#e )eb. T#i" i" an e=a!p&e o a proce"" 5no8n a"

    caching, and cac#in% pro-ide" yet anot#er rea"on or co!pre""in% i!a%e i&e"D

    t#e &ar%er an i!a%e i&e i", t#e !ore roo! it 8i&& ta5e up on a #ard dri-e.

    T#e .%i e=ten"ion i" u"ed or 3I) >9rap#ic" Interc#an%e 4or!at? i&e". Li5e

    JPE9 i&e", t#e data in 9I4 i&e" i" co!pre""ed. T#e !a;or dierence bet8een

    t#e t8o or!at" &ie" in t#e 8ay co!pre""ion i" ac#ie-ed. T#e data o 9I4 i&e" i"

    co!pre""ed in "uc# a 8ay t#at none o t#e ori%ina& i!a%e inor!ation i" &o"t.

    6o8e-er, 9I4 i&e" are &i!ited in t#e ran%e o co&or" t#ey "upport. JPE9 i&e", on

    t#e ot#er #and, "upport !ore co&or", but "o!e o t#e ori%ina& i!a%e inor!ation

    i" &o"t durin% co!pre""ionDa act t#at can #a-e an i!pact on i!a%e

    Bua&ity. T#ereore, !o"t )eb !a"ter" reco!!end u"in% JPE9 co!pre""ion or

    p#oto%rap#" and 9I4 co!pre""ion or ot#er 5ind" o %rap#ic", "uc# a" icon" and

    dra8in%". It1" a&"o i!portant to note #ere t#at you do not need to 5no8 a &ot

    College of Computer Studies 12

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    13/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES about co!pre""in% or deco!pre""in% to u"e o eit#er o t#e"e or!at": !o"t

    %rap#ic" pac5a%e" and bro8"er" #and&e t#e"e proce""e" auto!atica&&y. 4or

    e=a!p&e, i you are 8or5in% on a p#oto in P#otoS#op, a&& you #a-e to do i" "a-e

    t#e p#oto a" JPE9 i&e >an option a-ai&ab&e t#rou%# t#e Sa-e 3" dia&o%ue?, and

    P#otoS#op co!pre""e" it in JPE9 or!at auto!atica&&y.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    14/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES No8 Ja-a i" in it" ir"t re&ea"e a" a de-e&op!ent en-iron!ent, and a&ready it i"

    be%innin% to in&uence t#e direction o co!putin% and t#e Internet. T#e Ja-a

    pro%ra!!in% &an%ua%e i" bein% re&ea"ed ree on t#e Internet, and Sun i"

    &icen"in% t#e u&& i!p&e!entation o Ja-a and it" co!ponent" to a -ariety o

    Internet "ot8are -endor" in t#e #ope" o creatin% a ne8 )eb pro%ra!!in%

    "tandard.

    5bo(t 2a#a

    Ja-a i" a -ery ne8 pro%ra!!in% &an%ua%e and !a5e" po""ib&e a -ery ne8

    pro%ra!!in% rea&ity. 3" a co!!ercia& product, it i" on&y a e8 year" o&d, but e8

    ne8 product" #a-e captured t#e attention o t#e inor!ation "cience, co!puter

    "cience, "ot8are de-e&op!ent, and pro%ra!!in% 8or&d" t#e 8ay t#i" ne8

    &an%ua%e #a". One o Ja-aK" !o"t attracti-e eature" i" t#at it a&&o8" you to 8rite

    a Ja-a pro%ra! on an Inte& co!puter and t#en run it on a Macinto"# 8it#out

    doin% anyt#in% "pecia&, and t#at tru&y isa ne8 pro%ra!!in% rea&ity.

    In it" "ynta=, Ja-a i" -ery !uc# &i5e anot#er popu&ar pro%ra!!in% &an%ua%e: C

    . Un&i5e C, #o8e-er, Ja-a eature" a nu!ber o Abui&din% b&oc5"A or creatin%

    3ra'hi!al User Intera!es >or 3UIs, pronounced gooey?, !a5in% 9UI" -ery

    ea"y to i!p&e!ent in Ja-a. 6o8e-er, in order to bui&d !eanin%u& 9UI", a

    pro%ra!!er need" to #a-e a %ra"p o "o!e i!portant pro%ra!!in% i""ue" and

    "o!e air&y co!p&e= data "tructure", and i you are #opin% to acBuire t#at 5ind o

    "5i&&, you 8i&& need to ta5e ot#er cour"e" in addition to t#i" one.

    College of Computer Studies 14

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    15/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    Wh* 2a#a

    )e are %oin% to u"e Ja-a to e=p&ore ba"ic pro%ra!!in% concept"D"uc# a"

    "eBuentia& and iterati-e e=ecution, "i!p&e and co!p&e= -ariab&e", and pro%ra!

    p&annin%. )e 8i&& a&"o &oo5 at "o!e a"pect" o t#e ob;ect$oriented pro%ra!!in%

    paradi%!, and 8#i&e t#ere are t#ree !ain ob;ect$oriented pro%ra!!in%

    &an%ua%e"DC, Ja-a, and S!a&&ta&5D8e 8i&& 8or5 on&y 8it# Ja-a. 4ir"t o a&&,

    S!a&&ta&5 i" not u"ed by a" !any pro%ra!!er" a" C or Ja-a are, and 8e #a-e

    c#o"en Ja-a o-er C and ot#er pro%ra!!in% &an%ua%e" or a nu!ber o %ood

    rea"on":

    Ja-a i" 'ortableDt#at i", a" !entioned abo-e, a Ja-a pro%ra! 8ritten or

    one type o !ac#ine >"ay a PC? can ea"i&y 8or5 on anot#er !ac#ine >"ay

    a Macinto"#?

    Ja-a app&et" can run in"ide a bro8"er. >In t#i" cour"e, 8e 8i&& 8or5

    pri!ari&y 8it# app&et".?

    Ja-a i" u"ed 8ide&y or 8ritin% Internet app&ication".

    College of Computer Studies 15

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    16/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    2a#a 5''li!ations #s. 5''lets

    Ja-a a&&o8" u" to 8rite t8o dierent type" o pro%ra!": app&ication" and app&et".

    2a#a a''li!ationsare co!puter pro%ra!" t#at run &i5e a&!o"t any ot#er

    co!puter pro%ra!. T#ey can be -ery co!p&e=, &i5e t#e notepad

    app&ication t#at !any o you u"ed to bui&d your 6TML pa%e", or t#ey can

    be -ery "i!p&e. Ja-a app&ication" are con"idered A"tanda&one"AD8#ic#

    !ean" t#at t#ey can run on a co!puter 8it#out t#e aid o anot#er

    app&ication, "uc# a" a )eb bro8"er. )ord proce""or" and "pread"#eet"

    a" 8e&& a" )eb bro8"er" are a&& app&ication".

    2a#a a''letsare pro%ra!" t#at are e=ecuted ro! 8it#in a )eb bro8"er.

    Put into a )eb pa%e, a Ja-a app&et can a&&o8 u"er" to interact 8it# t#e

    pa%e in intere"tin% 8ay". 4or e=a!p&e, i your a!i&y o8ned a carpet "tore,

    you !i%#t 8ant to create a "i!p&e ca&cu&ator t#at 8ou&d a&&o8 u"er" to

    enter t#e "i7e o a roo! and type o carpet t#ey 8ant, and your carpet

    ca&cu&ator 8ou&d te&& t#e! t#e nu!ber o "Buare yard" o carpet t#ey need

    and t#e appro=i!ate co"t o t#e carpet and paddin%. )#i&e your )eb pa%e

    cou&d urni"# t#i" inor!ation in, "ay, a tab&e or c#art, potentia& cu"to!er"

    !i%#t preer in"tead to u"e a ca&cu&ator app&et, "i!p&y becau"e it1" ea"ier

    to u"e.

    College of Computer Studies 16

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    17/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 2a#a 5''li!ations #s. 5''lets

    Ja-a a&&o8" u" to 8rite t8o dierent type" o pro%ra!": app&ication" and app&et".

    2a#a a''li!ationsare co!puter pro%ra!" t#at run &i5e a&!o"t any ot#er

    co!puter pro%ra!. T#ey can be -ery co!p&e=, &i5e t#e notepad

    app&ication t#at !any o you u"ed to bui&d your 6TML pa%e", or t#ey can

    be -ery "i!p&e. Ja-a app&ication" are con"idered A"tanda&one"AD8#ic#

    !ean" t#at t#ey can run on a co!puter 8it#out t#e aid o anot#er

    app&ication, "uc# a" a )eb bro8"er. )ord proce""or" and "pread"#eet"

    a" 8e&& a" )eb bro8"er" are a&& app&ication".

    2a#a a''letsare pro%ra!" t#at are e=ecuted ro! 8it#in a )eb bro8"er.

    Put into a )eb pa%e, a Ja-a app&et can a&&o8 u"er" to interact 8it# t#e

    pa%e in intere"tin% 8ay". 4or e=a!p&e, i your a!i&y o8ned a carpet "tore,

    you !i%#t 8ant to create a "i!p&e ca&cu&ator t#at 8ou&d a&&o8 u"er" to

    enter t#e "i7e o a roo! and type o carpet t#ey 8ant, and your carpet

    ca&cu&ator 8ou&d te&& t#e! t#e nu!ber o "Buare yard" o carpet t#ey need

    and t#e appro=i!ate co"t o t#e carpet and paddin%. )#i&e your )eb pa%e

    cou&d urni"# t#i" inor!ation in, "ay, a tab&e or c#art, potentia& cu"to!er"

    !i%#t preer in"tead to u"e a ca&cu&ator app&et, "i!p&y becau"e it1" ea"ier

    to u"e.

    College of Computer Studies 17

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    18/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 9rap#ic" % ?

    %.dra8Strin%>A)e&co!e to

    J33A,+0, +0?

    %.dra8Rect>20, /, (0, /0?

    H

    N3ME:

    SECTION:

    3SSI9NMENT:

    H

    pub&ic c&a"" 6e&&o

    pub&ic "tatic -oid !ain>Strin% ar%"Q?

    Sy"te!.out.print&n>A)e&co!e to J33A?

    T#ere are a coup&e o !a;or dierence" bet8een t#e app&ication and app&et

    "#o8n abo-e:

    )#i&e t#e app&et e=ecute" %.dra8Strin% and %.dra8Rect, t#e app&ication e=ecute"

    Sy"te!.out.print&n. T#i" i" becau"e t#e app&et run" in a %rap#ica& en-iron!entD

    t#at i", in a bro8"er. 4or t#at rea"on, it can dra8 %rap#ica& e&e!ent" in t#e

    College of Computer Studies 18

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    19/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES bro8"er >"uc# a" &ine", circ&e", rectan%&e", "trin%", etc.?. In t#i" e=a!p&e, it dra8"

    t#e "trin% Welcome to Javaand a rectan%&e around t#e "trin%. 6o8e-er, t#e Ja-a

    app&ication doe" not run in a %rap#ica& en-iron!ent. It #a" to be run in a 'OS

    8indo8 >a&"o ca&&ed a Acon"o&e 8indo8A? on a PC. T#e Sy"te!.out.print&n

    in"truct" t#e co!puter to print t#e te=t in"ide t#e parent#e"e" to t#e "y"te!1"

    output de-ice. T#u", t#e !e""a%e A)e&co!e to Ja-aA i" printed to t#e "y"te!1"

    output de-ice$$in t#i" ca"e, t#e 'OS 8indo8 >con"o&e 8indo8?.

    T#ere are a coup&e o im'ort"tate!ent" in t#e app&et, 8#i&e t#ere are none in

    t#e app&ication. 3n im'ort"tate!ent !a5e" pre-iou"&y 8ritten code a-ai&ab&e to

    your pro%ra!. In t#i" ca"e, t#e im'ort"tate!ent" !a5e a-ai&ab&e t#e code t#at

    i" needed to dra8 a "trin% in a bro8"er. In contra"t, t#e "i!p&e Ja-a app&ication

    dra8" no %rap#ica& e&e!ent", and #ence it doe" not need t#e i!port "tate!ent".

    T#e Ja-a app&ication inc&ude" a !et#od ca&&ed main, . T#e main, !et#od i"

    !andatory or a&& Ja-a app&ication". )#en you run t#e Ja-a app&ication, t#e

    !ac#ine &oo5" or it" main, !et#od, and i it cannot ind it, t#e !ac#ine 8i&&

    Aco!p&ain.A 3pp&et" doe" not need to inc&ude a main, !et#odDt#e unctiona&ity

    nor!a&&y pro-ided by t#e main,!et#od i" pro-ided by t#e bro8"er. Re!e!ber

    t#at a bro8"er i" an app&ication and t#at app&et" run in"ide bro8"er".

    2a#a 5''let in Detail

    T#e tab&e be&o8 brea5" our e=a!p&e app&et into part" and e=p&ain" it" i!portant

    concept".

    The a!t(al !ode What it reall* means7

    H T#e "&a"#$a"teri"5 co!bination > H ? "i%na&" t#e

    College of Computer Studies 19

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    20/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 3 Si!p&e Ja-a 3pp&et

    N3ME:

    SECTION:

    3SSI9NMENT:

    be%innin% o t#e !omment. 4ro! a co!puter1"

    per"pecti-e, a !ommenti" a "eBuence o c#aracter"

    t#at it 8i&& i%nore. 4ro! t#e per"pecti-e o t#e

    co!puter1" #u!an u"er", a !omment u"ua&&y

    con"i"t" o "tate!ent" and inor!ation intended or

    "o!e purpo"e, "uc# a" !a5in% t#e pro%ra!1" code

    !ore under"tandab&e.

    H T#e a"teri"5$"&a"# co!bination > H ? "i%na&" t#e end

    o t#e !omment.

    i!port ;a-a.a8t.

    i!port ;a-a.app&et.3pp&et

    T#e"e im'ort "tate!ent" !a5e code ro! t#e

    'a!-a%esjava.awt and java.applet a-ai&ab&e

    to t#e app&et.

    pub&ic c&a"" 6e&&o e=tend"

    3pp&et

    E-eryt#in% in Ja-a i" 8ritten a" a class. In t#i"

    e=a!p&e, t#e c&a"" i" na!ed Hello. T#i" &ine initiate"

    t#e deinition o t#e 6e&&o c&a"".

    T#i" open brace !ar5" t#e be%innin% o t#e bodyo

    t#e c&a"" 6e&&o.

    pub&ic -oid

    paint>9rap#ic" %?

    T#i" &ine initiate" t#e deinition o a !et#od ca&&ed

    'aint, .

    T#i" open brace !ar5" t#e be%innin% o t#e body o

    t#e 'aint, !et#od.

    %.dra8Strin%>A)e&co!e

    to J33A,+0, +0?

    T#i" ca&&" t#e drawtrin%, !et#od, 8#ic# i" part o

    t#e 3ra'hi!s c&a"". T#e 3ra'hi!s c&a"" >and,

    College of Computer Studies 20

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    21/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES t#ereore, t#e drawtrin%, !et#od? i" deined in

    one o t#e i!ported &ibrarie".

    %.dra8Rect>20, /, (0,

    /0?

    T#i" ca&&" t#e drawRe!t, !et#od o t#e 3ra'hi!s

    c&a"".

    T#i" c&o"e brace !ar5" t#e end o t#e body and

    deinition o t#e !et#od 'aint, .

    T#i" c&o"e brace !ar5" t#e end o t#e body and

    deinition o t#e c&a"" 6e&&o.

    T#e "i!p&e Ja-a app&et ana&y7ed abo-e i&&u"trate" 8e&& t#e "tructure o a Ja-a

    source file.3 typica& Ja-a "ource i&e >a i&e 8it# t#e e=ten"ion .java? contain" a

    deinition o one c&a"", and t#e e=a!p&e app&et abo-e contain" t#e deinition o

    c&a"" na!ed Hello.Ja-a reBuire" t#at t#e na!e o t#e c&a"" a" deined in a

    "ource i&e be t#e ba"e part o t#e "ource i&e1" i&ena!e >t#at i", part o t#e na!e

    beore t#e e=ten"ion?. In t#e abo-e app&et, t#e c&a"" na!e i" Hello t#ereore, t#e

    "ource i&e1" i&ena!e !u"t be Hello.java. 3 c&a"" deinition !ay contain "e-era&

    method deinitionsand !ay >but not nece""ari&y? be preceded by one or !ore

    im'ort"tate!ent" t#at %i-e t#e app&et acce"" to t#e code in e=terna& &ibrarie".

    T#e c&a"" deinition in t#e abo-e e=a!p&e contain" a deinition o a !et#od

    na!ed 'aint, and i" preceded by t8o im'ort "tate!ent". In t#e o&&o8in%

    "ection", 8e 8i&& ana&y7e t#e"e c#ie co!ponent" o a Ja-a pro%ra! > im'ort

    "tate!ent", c&a""e", and !et#od"? in !ore detai&.

    College of Computer Studies 21

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    22/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES Im'ort tatements

    Ja-a im'ort"tate!ent" Ai!portA >and, #ence, %i-e our app&et" acce"" to? Ja-a

    !ode librariest#at contain code a&ready 8ritten to do ta"5" 8e !i%#t 8ant our

    app&et" to do. O cour"e, t#e capacity to i!port code &ibrarie" i" not uniBue to

    Ja-a: !any "eriou" pro%ra!!in% &an%ua%e" #a-e t#at capacity. Code &ibrarie"

    are "i!p&y co&&ection" o pre-iou"&y 8ritten c&a""e", !et#od", and unction" t#at

    are ready to be e=ecuted and can be u"ed in ot#er pro%ra!". T#e c&a""e",

    !et#od", and unction" t#at &ibrarie" contain peror! unction" t#at are needed

    by a -ariety o pro%ra!". Co&&ectin% t#e"e e&e!ent" into &ibrarie" pro-ide"

    de-e&oper" 8it# a "et o Abui&din% b&oc5"A t#at are ready to u"e.

    Ja-a code &ibrarie" con"i"t o 'a!-a%es. Eac# pac5a%e con"i"t" o a nu!ber o

    pre-iou"&y 8ritten c&a""e". 4or e=a!p&e, java.at i" a pac5a%e

    java.applet.!ppleti" a c&a"" in t#e pac5a%ejava.applet. 3" 8e "ee, a na!e o a

    pac5a%e or a c&a"" in Ja-a i" a "et o 8ord" de&i!ited by dot". To u"e t#e

    !et#od" o a pre$bui&t c&a"" in our pro%ra! 8e need to importt#i" c&a"" u"in% t#e

    im'ort "tate!ent. )e cou&d c#oo"e to i!port a particu&ar c&a"" or a 8#o&e

    pac5a%e 8it# a&& it" c&a""e". 3&"o, a&& im'ort"tate!ent" are u"ua&&y "peciied at

    t#e be%innin% o a pro%ra!.

    No8, &et1" ana&y7e t#e t8o im'ort"tate!ent" in t#e app&et abo-e.

    im'ort ja#a.a''let.5''let8

    T#i" "tate!ent i!port" t#e c&a"" 5''let t#at i" contained in t#e pac5a%e

    java.applet. T#e 5''let c&a"" contain" t#e code t#at a&&o8" u" to run our

    pro%ra! a" an app&et in a )eb bro8"er.

    College of Computer Studies 22

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    23/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES im'ort ja#a.awt.98

    T#i" "tate!ent i!port" all c&a""e" in t#e pac5a%e java.at >by t#e 8ay, at

    "tand" or 3b"tract )indo8in% Too&5it?. T#i" pac5a%e contain" pro%ra!" t#at can

    bui&d t#e 8indo8 and do t#e type o dra8in%" 8e need to do. T#e a"teri"5 > ?

    t#at o&&o8" t#e "tate!ent1" &a"t period > . ? i" a A8i&dcard c#aracterA and te&&"

    Ja-a to i!port allc&a""e" in t#e pac5a%e.

    It turn" out t#at t#e &an%ua%e Ja-a A5no8"A -ery &itt&e. On it" o8n, it can do a &itt&e

    arit#!etic, a&&ocate !e!ory or data, "tore data in t#e a&&ocated !e!ory, !a5e

    "i!p&e true$or$a&"e te"t", and repeat t#in%". T#at i" not !uc#Dbut t#at i" a&& a

    pro%ra!!in% &an%ua%e rea&&y need" to be ab&e to do. )#ene-er 8e 8rite a

    pro%ra!, 8e need to decide 8#ic# part" o t#e pro%ra! 8e "#ou&d 8rite ro!

    "cratc# our"e&-e" and 8#ic# part" can !a5e u"e o code 8ritten by ot#er" and

    !ade a-ai&ab&e in &ibrarie". In %enera&, 8e 8ant to !a5e a" !uc# u"e o t#e code

    a-ai&ab&e in &ibrarie" a" po""ib&e. T#i" i" "o!e8#at ana&o%ou" to decidin%

    8#et#er to bui&d a bui&din% out o bric5" !ade by "o!eone e&"e or out o bric5"

    8e !a5e our"e&-e" ro! "cratc#. 3&"o, be a8are t#at t#e &ibrary "tructure or

    Ja-a i" -ery &ar%e and i" "ti&& e-o&-in%, and in t#i" cour"e, 8e 8i&& u"e on&y a e8

    piece" o a e8 &ibrarie". T#ereore, i you 8ant to be a Ja-a pro%ra!!er, you 8i&&

    need to &earn a &ot !ore about t#e -ariou" &ibrarie" t#an 8e 8i&& co-er in t#i"

    cour"e.

    &lasses: Obje!ts: and /ethods

    E-eryt#in% in an ob;ect$oriented &an%ua%e &i5e Ja-a i" 8ritten a" a c&a"". &lass

    reer" to t#e "tructure and be#a-ior o a cate%ory o ob;ect". T#e structure

    College of Computer Studies 23

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    24/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES specifies the datat#at i" contained in t#e cate%ory o ob;ect", 8#i&e t#e behavior

    specifies the actions t#at can be peror!ed by t#e cate%ory o ob;ect". T#e

    be#a-ior co&&ecti-e&y reer" to t#e "et o methodst#at t#e c&a"" can e=ecute.

    3n obje!ti" an in"tance o a c&a"". 3n ob;ect i" a "e&$contained entity t#at #a"

    bot# t#e data and t#e !ean" to act on t#e data. T#e e=a!p&e app&et and

    app&ication abo-e eac# #a-e one !et#od on&y >'aint, in t#e app&et and main,

    in t#e app&ication?, and t#ere are no "tructure" or data in eit#er o t#e"eDat &ea"t

    no data t#at 8e can "ee at t#e pre"ent.

    No8 it i" ti!e to &oo5 at "o!e o t#e ru&e" or 8ritin% Ja-a c&a""e". T#ere i" an is"

    an"instance"ofrelationshipbet8een an ob;ect and it" c&a"". 3" a "#ort or!, an

    i"$an$in"tance$o re&ation"#ip i" a&"o ca&&ed an is"arelationship8#en t#ere i" no

    po""ibi&ity o !i"under"tandin%. 3" 8e !entioned ear&ier, a c&a"" denote" a

    cate%ory o ob;ect"D;u"t a" in En%&i"# t#e ter! Elephant reer" to a cate%ory o

    t#in%" in t#e 8or&d: e&ep#ant". )#en 8e ta&5 about Elephant, 8e ta&5 in

    %enera&itie" and not about any one e&ep#ant in particu&ar. Si!i&ar&y, in

    pro%ra!!in%, a c&a"" reer" to a category of objects and not to a particu&ar

    ob;ect. 4or e=a!p&e, a c&a"" Elephantde"cribe" a cate%ory o elephantobjects.

    3n ob;ect i"$an$in"tance$o a c&a"". 3" a con-ention, 8#en 8e reer to a c&a"",

    8e 8i&& upperca"e t#e ir"t &etter o t#e c&a""1" na!e, and 8#en 8e reer to an

    ob;ect, 8e 8i&& &o8erca"e t#e entire ob;ect na!e.

    In t#e rea& 8or&d, e&ep#ant" haveattribute" "uc# a" #ei%#t, 8ei%#t, etc. T#ey a&"o

    dot#in%" "uc# a" 8a&5, drin5, etc. Si!i&ar&y, in pro%ra!!in% you can deine a "et

    College of Computer Studies 24

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    25/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES o attribute" t#at a c&a"" can #a-e and a "et o acti-itie" >ca&&ed !et#od"? t#at it

    can peror!.

    &lass Deinition

    C&a""e" are t#e !a;or or%ani7ationa& b&oc5 or Ja-a pro%ra!". 3 Ja-a pro%ra!

    con"i"t" o one or !ore classes. )it#in t#i" cour"e, eac# c&a"" i" deined in a

    "eparate "ource i&e.

    T#e deinition o a c&a"" "peciie" 8#at t#e c&a"" hasand 8#at it can do. )it#in a

    c&a"", 8e can i!port and u"e ot#er c&a""e". I you &oo5 at t#e ir"t &ine o t#e

    deinition o t#e c&a"" 6e&&o, you 8i&& "ee t#e o&&o8in%:

    pub&ic c&a"" 6e&&o e=tend" 3pp&et

    LetK" &oo5 at eac# o t#i" &ine1" e&e!ent"Dbe%innin% 8it#

    '(bli!

    )e can "peciy a Ja-a c&a"" a"public,private, orprotectedu"in% t#e 5ey8ord"

    '(bli!, 'ri#ate, and 'rote!ted #o8e-er, or no8 8e 8i&& 8or5 on&y 8it# c&a""e"

    t#at de"i%nated public.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    26/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES Hello

    Hello i" t#e na!e o t#e c&a"". 3" 8e !entioned ear&ier, c&a"" na!e" by

    con-ention "#ou&d be%in 8it# a capita& &etterDand, a" you "ee, t#i" e=a!p&e

    o&&o8" t#at con-ention. Note: or rea"on" 8e 8on1t %o into no8, you !u"t not

    c#an%e t#i" na!e. )e 8i&& &oo5 at t#e"e rea"on" &ater and "#o8 you 8#at you

    !u"t do i you 8ant to c#an%e t#i" na!eDbut or no8, p&ea"e rea&i7e t#at i you

    c#an%e t#i" na!e, your pro%ra! 8i&& probab&y not run.

    e0tends 5''let

    Read t#e p#ra"e extends !ppletto !ean t#at t#e c&a"" bein% deined Ade"cend"

    ro!,A Ain#erit" ro!,Aor Ai" a c#i&d oA t#e c&a"" 5''let. T#at i", our c&a"" 6e&&o i"

    a !hildor a s(b!lasso a c&a"" na!ed 5''let. In turn, c&a"" 5''leti" ca&&ed

    t#e s('er!lassor t#e c&a"" 6e&&o. T#i" !ean" t#at 6e&&o can do anyt#in% t#at

    t#e parent c&a"" 5''letcan do. T#e parent in t#i" ca"e A5no8"A #o8 to e=ecute

    it"e& 8it#in a )eb pa%e. Since 8e #a-e dec&ared our c&a"" 6e&&o a" a c#i&d o

    5''let, 8e donKt #a-e to 8rite a&& o t#e needed Ja-a in"truction" reBuired to run

    t#e pro%ra! in a )eb pa%e. C&a"" 6e&&o inheritedt#i" abi&ity ro! it" parent c&a""

    5''let. In Ja-a, t#e !ec#ani"! by 8#ic# a c#i&d c&a"" acBuire" unctiona&ity

    deined in a parent c&a"" i" ca&&ed inheritan!e. T#ere are ot#er !et#od" in c&a""

    5''lett#at c&a"" 6e&&o can in#erit and u"e. So!e o t#e"e !et#od" are init, ,

    start, , sto', , and ('date, . Notice t#at our c&a"" 6e&&o #a" it" o8n 'aint,

    !et#od. T#i" i" ineDJa-a 8i&& u"e our deinition o paint and i%nore t#e deinition

    o 'aint, in t#e c&a"" 5''let. I 8e &ea-e out a deinition o a !et#od, Ja-a

    auto!atica&&y re&ie" on t#e parent1" deinition.

    College of Computer Studies 26

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    27/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES T#e o&&o8in% i" t#e body o t#e 6e&&o c&a"":

    pub&ic -oid paint> 9rap#ic" % ?

    %.dra8Strin%>A)e&co!e to J33A,+0, +0?

    %.dra8Rect>20, /, (0, /0?

    T#i" c&a"" body i" bounded by or de&i!ited by a pair o brace". T#e &a"t c#aracter

    o t#e c&a"" !u"t a&8ay" be a c&o"in% brace > ?. 3&& o t#e Ja-a code ound 8it#in

    t#e"e brace de&i!iter" i" part o t#e c&a"".

    Met#od" and Met#od 'einition"

    T#ere are t8o !ain co!ponent" o a Ja-a c&a"":

    (. data >a&"o ca&&ed t#e structure?

    2. !et#od" >a&"o ca&&ed t#e behavior?

    3&& o t#e "tructure >data? and be#a-ior >!et#od"? o a c&a"" #a-e to be deined in

    t#e body o t#e c&a"". T#at "aid, a" you !ay #a-e noticed, t#ere i" no data "tored

    in t#e 6e&&o e=a!p&e c&a"". 6o8e-er, t#ere 8i&& be data in "o!e o our uture

    pro%ra!", but t#at 8i&& #a-e to 8ait or a 8#i&e.

    In Ja-a, methodsare %roup" o in"truction" t#at #a-e na!e". Met#od" enab&e

    our pro%ra!" to do t#in%". Note t#at ot#er &an%ua%e" u"e ot#er ter!" to reer to

    8#at in Ja-a 8e ca&& !et#od". In 4ortran, t#e ter! i" subroutine in Pa"ca&, it i"

    procedure in C, it i" function and in C, it i" member function.

    College of Computer Studies 27

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    28/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES In order to #a-e t#e co!puter e=ecute t#e in"truction" in t#e body o one o our

    !et#od", t#e !et#od !u"t be in#o-ed or !alled. )e #a-e a -ery intere"tin%

    "ituation 8#en 8e 8rite app&et": "o!e o our !et#od" are ca&&ed or u"

    automatically8#en 8e run t#e app&etDand ot#er" are not. 4or e=a!p&e, t#e

    'aint, !et#od i" ca&&ed auto!atica&&y 8#en 8e "tart t#e app&et and i" ca&&ed

    anyti!e it i" needed.

    In"ide t#e body o c&a"" 6e&&o, t#e ir"t t#in% 8e "ee i" a deinition o a !et#od

    na!ed 'aint, . T#e !et#od deinition con"i"t" o t#e !et#od1" name, o&&o8ed

    by a "et o parent#e"e". So!eti!e" t#e"e parent#e"e" 8i&& contain 'arameters.

    3 para!eter i" a piece o data t#at i" pro-ided to t#e !et#od 8#en t#at !et#od

    i" ca&&ed. 3ter t#e parent#e"e" i" t#e bod*, enc&o"ed in brace".

    Let1" di""ect t#i" !et#od:

    '(bli! #oid 'aint, 3ra'hi!s %

    T#e 5ey8ord '(bli!te&&" Ja-a t#at t#i" !et#od can be u"ed by ot#er c&a""e"

    out"ide o t#e c&a"" 6e&&o. Re!e!ber t#at "o!e8#ere, "o!e#o8, our 'aint,

    !et#od i" ca&&ed or u" auto!atica&&yD"o our !et#od 'aint, mustbe deined a"

    pub&ic&y acce""ib&eDot#er8i"e our app&et 8i&& not be ab&e to run. 4or no8, a&& o

    our !et#od" 8i&& be deined a" pub&ic.

    T#e 5ey8ord #oid!ean" t#at a !et#od doe" not return a -a&ue. Met#od" can do

    t#ree t#in%":

    T#ey can dra8.

    T#ey can co!pute and return -a&ue", "uc# a" an a-era%e o a &i"t o nu!ber".

    T#ey can do bot# o t#e abo-e.

    College of Computer Studies 28

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    29/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 4or no8 8e 8i&& u"e on&y #oid!et#od"Dt#e"e are !et#od" t#at do t#in%" but do

    not return -a&ue". 4o&&o8in% t#e 5ey8ord #oidi" t#e !et#od na!e: 'aint, .

    ,3ra'hi!s %

    4o&&o8in% t#e !et#od na!e in our e=a!p&e i" a list of parametersenc&o"ed in a

    pair o parent#e"e". T#i" i" t#e &i"t o re"ource" t#e !et#od need" to do it" ;ob.

    So!e !et#od", #o8e-er, need no para!eter" at a&&, and, t#ereore, eature a "et

    o e!pty parent#e"e"Da !et#od deinition !u"t #a-e t#e parent#e"e", e-en i

    t#e parent#e"e" are e!pty. 6o8e-er, in our e=a!p&e, t#e parent#e"e" contain

    one para!eter: g.

    T#e #9rap#ic"A in"ide t#e parent#e"e" i" t#e na!e o a c&a"" deined in one o

    t#e i!ported &ibrarie" >t#e act t#at it i" capita&i7e" c&ue" you in to t#e act t#at it i"

    a c&a"", "ince t#e con-ention i" to capita&i7e c&a"" na!e"?.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    30/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES pen to do it. T#e &oanin% o t#e pen i" -ery "i!i&ar to puttin% A9rap#ic" %A in t#e

    para!eter &i"t.

    T#e body o t#e !et#od i" de&i!ited by a pair o brace", ;u"t a" t#e body o t#e

    c&a"" i". E-eryt#in% 8it#in t#i" "et o brace" i" part o t#e 'aint, !et#od. *ou

    can deine !et#od" 8it#in c&a""e", but you cannot deine c&a""e" 8it#in

    !et#od", and you cannot deine !et#od" 8it#in !et#od".

    In"ide o t#e body o 'aint, t#ere are t8o"tate!ent". T#e ir"t "tate!ent dra8"

    a "trin% A)e&co!e to J33A at t#e &ocation =:+0, y:+0:

    %.dra8Strin%>A)e&co!e to J33A, +0, +0?

    T#e ne=t "tate!ent %i-en be&o8 dra8" a rectan%&e (0 pi=e&" in &en%t# and /0

    pi=e&" #i%# at t#e &ocation =:20, y:/:

    %.dra8Rect>20, /, (0, /0?

    )o(r ste's in &reatin% a 2a#a 5''let

    (. Write 2a#a !odet#at 8i&& con"titute t#e app&et. To 8rite code, you

    8i&& u"e an editor. *ou 8i&& "a-e t#e Ja-a code in a so(r!e ile> .;a-a i&e?.

    Note t#at a&& ;a-a "ource i&e" "#ou&d #a-e a .javae=ten"ion. 4urt#er!ore,

    t#e i&e in 8#ic# you put t#e "ource code or a c&a"" "#ou&d #a-e t#e "a!e

    na!e a" t#e na!e o t#e c&a"" extendedith .java. In t#e abo-e e=a!p&e,

    t#e c&a"" Hello"#ou&d be p&aced in a i&e na!ed Hello.java.

    2. &om'ile the 2a#a so(r!e !odein t#e .;a-a i&e into b*te!odeu"in% a Ja-a

    co!pi&er "uc# a" ;a-ac t#at i" a part o Ja-a 'e-e&op!ent it >J'?. T#e

    re"u&t o co!pi&ation 8i&& be a bytecode i&e. Note t#at a&& bytecode i&e" 8i&&

    College of Computer Studies 30

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    31/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES #a-e t#e e=ten"ion .class. In our e=a!p&e, t#e bytecode i&e %enerated ro!

    t#e "ource i&e 6e&&o.;a-a 8i&& be na!ed Hello.class.

    +. &reate a HT/L ilet#at embedst#i" bytecode i&e in a pair o 3PPLET ta%"

    t#at "peciy

    t#e &ocation o t#e Ja-a app&et

    t#e "i7e >t#at i", t#e 8idt# and #ei%#t? o t#e area occupied by t#e

    app&et in t#e bro8"er or app&et -ie8er.

    . R(n the a''letby openin% t#e 6TML i&e in a )eb bro8"er or an app&et

    -ie8erDa "pecia& A!ini!a&A bro8"er or runnin% app&et" t#at i" a&"o

    inc&uded in Sun1" J'.

    Note t#at t#e "tep" nece""ary to run a Ja-a app&ication are "&i%#t&y dierent.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    32/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES u"in% t#e J' 2a#a inter'reterca&&edja#a. )eb bro8"er" and app&et -ie8er"

    can1t run Ja-a app&ication".

    $a* 'arti!(lar attention to the ollowin% when !reatin% an 5''let;

    Spe&&in%.

    T#e ca"e o &etter". Ja-a treat" Ai!portA and AI!portA a" dierent 8ord"Di

    you type AI!portA, your pro%ra! i" 8ron%

    Matc#in% "et" o parent#e"e" > ? and brace" . T#e"e are ca&&ed

    delimitersand !u"t co!e in openin%$c&o"in% pair".

    T#e punctuation !ar5". In t#i" pro%ra! t#ey inc&ude t#e period > . ?,

    "e!ico&on > ?, Buotation !ar5 > A ?, and co!!a > , ?.

    Specia& "y!bo&". T#e"e inc&ude t#e a"teri"5 > ? and "&a"# > H ?.

    o(r!e !ode i" t#e pro%ra! 8ritten in Ja-a or ot#er #i%#$&e-e& pro%ra!!in%

    &an%ua%e by t#e pro%ra!!er. Source code can be read by #u!an". Source code

    i" "tored in so(r!e iles. T#e Ja-a pro%ra! you "a8 in t#e pre-iou" pa%e i" t#e

    "ource code o t#e 6e&&o app&et.

    &om'ilation i" t#e proce"" o con-ertin% #i%#$&e-e& "ource code into machine

    languageor anot#er or! t#at can be e=ecuted by t#e !ac#ine. )#i&e #i%#$&e-e&

    "ource code can be ea"i&y under"tood by #u!an", t#e &o8$&e-e& !ac#ine

    &an%ua%e i" a or! t#at i" e=tre!e&y "trenuou" or #u!an" to o&&o8, 8#i&e

    e=tre!e&y ea"y or !ac#ine" to interpret.

    &om'ileri" a co!puter pro%ra! t#at peror!" co!pi&ation. In our cour"e, you

    8i&& !o"t &i5e&y be u"in% a Ja-a co!pi&er na!edjavac t#at i" a part o t#e Ja-a

    College of Computer Studies 32

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    33/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 'e-e&op!ent it >J'?. T#ere i" !ore #e&p on in"ta&&in% and u"in% J' in t#e

    appendi= "ection on "ettin% up your Ja-a en-iron!ent.

    4ro! your Co!!and Pro!pt 8indo8 >a&"o ca&&ed a 'OS con"o&e 8indo8?, you

    can ca&& t#e Ja-a co!pi&er ;a-ac to co!pi&e t#e "ource code i&e 6e&&o.;a-a 8it#

    t#e co!!and:

    ja#a! Hello.ja#a

    Co!pi&in% a Ja-a "ource i&e produce" a b*te!ode ile.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    34/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES JM actin% a" an ab"tract !ac#ine, Ja-a ac#ie-e" portabilityacro"" co!puter

    p&ator!". T#at i", you can run your bytecode on a Sun co!puter or a Macinto"#

    co!puter, or any ot#er co!puter t#at #a" a JM i!p&e!entation. Current&y, JM

    i" i!p&e!ented or !o"t e=i"tin% co!puter p&ator!".

    &reatin% the HT/L )ile

    3 Ja-a app&et i" in-o5ed >run or e=ecuted? ro! 8it#in a )eb pa%e. 3 ca&& o an

    app&et #a" to be embeddedin"ide "o!e 6TML docu!ent. 6ere i" t#e "i!p&e"t

    or! o an 6TML docu!ent t#at 8i&& run our app&et Hello. Con-ention dictate"

    t#at you na!e t#i" i&e 6e&&o.#t!&, but t#at i" ;u"t con-ention and not a Ja-a ru&e

    >un&i5e t#e ca"e 8it# 6e&&o.;a-a?.

    F6TMLG

    F

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    35/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES #ei%#t /

    T#e ir"t &i"t ite! &itera&&y "ay" t#at t#e app&et to be e=ecuted i" ca&&ed

    A6e&&o.c&a""A. 3" you re!e!ber, ;a-ac created 6e&&o.c&a"" ro! 6e&&o.;a-a 8#en

    you co!pi&ed t#e 6e&&o.;a-apro%ra!.

    T#e "econd and t#ird &i"t ite!" te&& t#e bro8"er or app&et -ie8er #o8 bi% t#e

    app&et 8indo8 !u"t be. )#en a )eb bro8"er or t#e app&et -ie8er e=ecute" or

    run" your app&et, it bui&d" a 8indo8 200 pi=e&" 8ide and / pi=e&" #i%# and

    e=ecute" t#e bytecode in"truction" in t#e i&e 6e&&o.c&a"". T#e unit o !ea"ure i"

    'i0el, 8#ic# i" "#ort or picture e&e!ent. T#e %rap#ic" di"p&ay or your co!puter

    i" co!po"ed o t#ou"and" >or !i&&ion"? o t#e"e indi-idua& e&e!ent" t#u" t#e

    pi=e& i" t#e "!a&&e"t piece o -i"ua& inor!ation t#at your !onitor can di"p&ay. It i"

    about t#e "i7e o a period > . ?, &i5e t#e one at t#e end o t#i" "entence.

    R(nnin% the 5''let

    Runnin% t#e app&et i" done by u"in% a )eb bro8"er or t#e app&et -ie8er

    pro-ided by Sun a" a part o t#e J'. 3n app&et -ie8er i" a "pecia& pro%ra! t#at

    cou&d run app&et". It cou&d be con"idered a "tripped$do8n )eb bro8"er t#at can1t

    di"p&ay 6TML, but can &ocate an app&et in"ide a )eb pa%e and run it. t#at i", t#ey inc&ude t#e JM? can under"tand

    and e=ecute your bytecode. 3nd !o"t popu&ar bro8"er" "uc# a" t#e Internet

    E=p&orer and Net"cape Na-i%ator are Ja-a enab&ed. T#i" i" one o t#e rea"on"

    or t#e re!ar5ab&e popu&arity o Ja-a. 6o8e-er, dierent bro8"er" #a-e "&i%#t

    College of Computer Studies 35

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    36/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES -ariation" in t#e 8ay t#ey e=ecute app&et". )e "u%%e"t t#at you u"e an app&et

    -ie8er pro-ided 8it# your J' a" t#e deiniti-e too& to c#ec5 your 8or5.

    &om'onents o a 2a#a 5''let

    T#e typica& Ja-a app&et i" !ade up o nu!erou" co!ponent" t#at inc&ude

    -e*words, identiiers, statements, !lasses, methods, and !ontrol

    str(!t(res.

    4or e=a!p&e, t#e code

    College of Computer Studies 36

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    37/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES Apublic class Hello extends AppletA te&&" Ja-a t#at Hello i" a

    "ubc&a"" o 5''let.?

    #oid$ !ean" t#at t#i" !et#od 8i&& not return a -a&ue.

    Identiiers

    3n identiier i" a na!e. In Ja-a, an identiier can be a c&a"" na!e, a !et#od

    na!e, or a para!eter na!e. 4or e=a!p&e, t#e c&a"" na!e 6e&&o i" an identiier.

    Si!i&ar&y, t#e na!e o t#e para!eter gi" a&"o an identiierDand "o i" t#e !et#od

    na!e paint.

    T#e "ynta= o identiier" i" -ery i!portant. Identiier" can u"e a&p#abetic

    c#aracter" o eit#er ca"e >a7 and 3?, nu!ber" >0@?, under"core" > V ?, or

    do&&ar "i%n" > W ?. No ot#er c#aracter" are a&&o8ed. No co!!a", #yp#en", etc.

    3&"o, identiier" cannot "tart 8it# a nu!ber. 4ina&&y, 5ey8ord" cannot be u"ed a"

    identiier" >or t#i" rea"on 5ey8ord" are "o!eti!e" ca&&ed reserved ords?.

    The ollowin% are #alididentiiers

    The ollowin% are not #alididentiiers

    "tudent pieVMa"terpieMa"ter pie pie2pie

    do&&arW!an Wdo&&ar!anpieMet#od

    pie pie$pie pie,pie

    pieHca5e !et#od -oid

    College of Computer Studies 37

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    38/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    tatements

    tatementsare t#e ba"ic unit" o e=ecution in a pro%ra!. T#ey te&& Ja-a to do

    "o!et#in%. T#i" pro%ra! #a" t#e o&&o8in% "tate!ent":

    i!port ;a-a.app&et.

    i!port ;a-a.a8t.

    %.dra8Strin%>A)e&co!e to J33A, +0, +0?

    %.dra8Rect>20, /, (0, /0?

    T#e"e "tate!ent" re"u&t in "o!e action bein% peror!ed. So!e o t#e

    action" are in-i"ib&e to t#e u"er o t#e app&et. T#e u"er 8i&& ne-er actua&&y "ee t#e

    im'ort"tate!ent" bein% e=ecuted becau"e t#ey are directi-e" to t#e co!pi&er.

    T#e %.dra8Strin% "tate!ent 8i&& re"u&t in a -i"ib&e action becau"e t#e "trin%

    Welcome to J!&!8i&& be di"p&ayed in t#e app&et 8indo8. State!ent" #a-e one

    t#in% in co!!onDt#ey end 8it# a "e!ico&on > ?. )#ere t#ere i" no "e!ico&on,

    t#ere i" no "tate!ent.

    T#e body o t#e !et#od 'aint, in our e=a!p&e #a" t8o "tate!ent":

    %.dra8Strin%>A)e&co!e to J33A, +0, +0?

    %.dra8Rect>20, /, (0, /0?

    )indin% and )i0in% Errors

    )#en you !odiy t#e Ja-a pro%ra!, you !ay encounter "o!e error" 8#en you

    co!pi&e it. )e 8i&& "oon &earn 8#at t#o"e error" !ean and #o8 t#ey can be i=ed.

    So!eti!e" it1" a !atter o a !i""ed co!!a or "e!ico&on.

    College of Computer Studies 38

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    39/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES In a&& di"a%ree!ent" 8it# t#e co!pi&er, t#e ru&e i" "i!p&e: t#e co!pi&er a&8ay"

    8in". T#e aut#or typed in t#e 6e&&o Ja-a app&et pro%ra! and &et out t#e

    "e!ico&on at t#e end o t#e "econd &ine "#o8n be&o8Dt#e AVA i" 8#ere t#e

    !i""in% "e!ico&on "#ou&d be:

    i!port ;a-a.a8t.V

    6ere1" 8#at 8a" typed on t#e co!!and &ine >it 8a" "uppo"ed to co!pi&e a Ja-a

    pro%ra!?:

    G;a-ac 6e&&o.;a-a

    3nd #ere are t#e error !e""a%e" i""ued by t#e co!pi&er:

    6e&&o.;a-a:: 11 e=pected. 4or!at: filename'line

    number'message. T#i" error

    !e""a%e indicate" t#at it #a"

    detected a prob&e! on &ine nu!ber

    : a !i""in% "e!ico&on.

    i!port ;a-a.a8t. 6ere t#e co!pi&er di"p&ay" t#e &ine o

    code 8#ere t#e error !i%#t be.

    X T#e co!pi&er t#en p&ace" a

    caret > X ? under t#e &ine o code

    8#ere t#e error !i%#t be.

    6e&&o.;a-a:Y: Superc&a"" 3pp&et o c&a""

    6e&&o not ound.

    3 "econd error !e""a%eDt#i" one

    &a%%in% &ine nu!ber Y a" a po""ib&e

    &ocation o an error.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    40/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES o code 8#ere it t#in5" t#e error i".

    X 3%ain, co!pi&er p&ace" a caret > X ?

    under t#e &ine o code 8#ere t#e

    error !i%#t be.

    2 error" T#i" i" t#e tota& nu!ber o error"

    ound.

    No8, i a "e!ico&on i" put in &ine , 8#ere it be&on%", bot# o t#e"e error" 8i&&

    di"appear.

    3" indicated abo-e, t#e ba"ic !e""a%e or!at %i-e" t#e i&e na!e and t#en t#e

    nu!ber o t#e &ine on 8#ic# t#e error !i%#t be &ocated. Ju"t re!e!ber t#at t#e

    error !e""a%e repre"ent" t#e co!pi&er1" be"t %ue"" at 8#at i" 8ron%. T#e be"t

    8ay to %et introduced to Ja-a error !e""a%e" i" by e=perience. *our initia&

    e=po"ure" 8i&& probab&y be ru"tratin%, but t#at 8i&& pa"". Once you #a-e

    corrected a&& o t#e error", you can run your pro%ra! in app&et -ie8er or )eb

    bro8"er.

    Error" are a part o a pro%ra!!er1" &ieD8e a&& !a5e t#e!. It turn" out t#at

    8ritin% a pro%ra! ta5e" a !uc# #i%#er de%ree o perection t#an !o"t o u" are

    u"ed to ac#ie-in%, and t#e "i!p&e"t error can 5eep our pro%ra!" ro! runnin%.

    3nd once our pro%ra!" run, 8e !u"t continue e-a&uatin% and te"tin% t#e! to

    !a5e "ure t#ey are runnin% correct&y. So!e pro%ra!" are "o co!p&e= t#at t#ey

    dey co!p&ete te"tin% or correctne"". 4ortunate&y, you 8i&& not 8rite "uc#

    pro%ra!" in t#i" c&a"", but "o!e o t#e one" you ill8rite 8i&& be diicu&t to te"t

    e=#au"ti-e&y.

    College of Computer Studies 40

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    41/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES )#en you 8rote )eb pa%e" in t#e pre-iou" unit, you probab&y !ade t8o type" o

    error":

    "ynta= error"

    e=ecution error"

    *nta0 errorsoccurred 8#en you u"ed t#e 8ron% ta% or &et out a c&o"in% ta% or

    a c&o"in% an%&e brac5et. 3 "ynta= error 8ou&d cau"e an%&e brac5et" to be

    di"p&ayed in your )eb pa%e 8#en -ie8ed in a bro8"er. T#e act t#at t#e )eb

    pa%e i" di"p&ayed at a&& i" due to t#e act t#at t#e bro8"er i%nore" 6TML "ynta=

    error" and di"p&ay" t#e pa%e re%ard&e"".

    *ou can t#in5 o "ynta= error" a" error" in %ra!!ar. Ju"t a" %ra!!atica& error"

    in En%&i"# &ead to i&&$or!ed "entence", "ynta= error" in pro%ra!!in% &ead to i&&$

    or!ed pro%ra!". 6u!an" are "!art enou%# to iner t#e !eanin% o a "entence,

    e-en i t#e "entence i" i&& or!ed.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    42/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES pri"oner1" &ie "pared, in #i" #a"te to 8rite Ai&& not, "pareA #e !i"p&aced t#e

    co!!a and 8rote Ai&&, not "pare.A T#u", t#e 5in%1" "tate!ent i&&u"trate" 8#at 8e

    #a-e ca&&ed a A&o%ica& error.A T#e "tate!ent i" %ra!!atica&&y correct, and t#e

    ;ai&er cou&d, t#ereore, under"tand and obey it a" an an"8er to #i" Bue"tion but it

    did not acco!p&i"# 8#at t#e 5in% #ad intended, becau"e t#e pri"oner 8a" 5i&&ed.

    )#en you 8rite pro%ra!", you 8i&& !o"t &i5e&y a&"o run into "uc# &o%ica& error"

    >t#ou%# not a" ata&?. *ou "#ou&d te"t your pro%ra!" to "ee i t#ey do 8#at you

    intended t#e! to do. 3%ain, e=ecution error" are not error" in %ra!!ar: i t#e

    5in%1" %ra!!arian" #ad e=a!ined #i" "tate!ent, t#ey 8ou&dn1t #a-e ound an

    error. Si!i&ar&y, a co!pi&er >8#ic# i" a type o %ra!!arian? 8i&& not u"ua&&y

    co!p&ain about &o%ica& error" &o%ica& error" u"ua&&y !anie"t t#e!"e&-e" at run

    ti!e, not co!pi&e ti!e.

    !ore e-a&uationHte"tin%, p&annin%, and codin%?

    you 8i&& #a-e e&i!inated t#e "ynta= error". T#en you !u"t run t#e app&et to "ee i

    it doe" 8#at you intended it to do.

    College of Computer Studies 42

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    43/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 4our ina& t#ou%#t" about "ynta= error":

    (. T#e Ja-a co!pi&er 8i&& pro-ide, at be"t, a %ue"" o 8#at t#e error i" and

    8#ere it occurred. So!eti!e" it i" correct and "#o8" you 8#ere to i= t#e

    error. So!eti!e" it 8i&& !ar5 a p&ace t#at contain" no error. I you ind no

    error -i"ib&e, c#ec5 t#e code abo-e t#e !ar5ed &ine. *ou !ay #a-e !ade

    a !i"ta5e one, t8o, or !ore &ine" abo-e t#e indicated p&ace.

    2. I t#e Ja-a co!pi&er print" a &on% &i"t o error", you "#ou&d con"ider on&y

    t#e ir"t one or t8o to be tru&y -a&id. It i" po""ib&e t#at t#e ir"t "ynta= error

    &ed t#e co!pi&er do8n a -ery 8ron% pat# to ind ot#er error" t#at are not

    rea&&y error" at a&&. 4i= t#e ir"t one or t8o error" and reco!pi&e your

    pro%ra!. *ou !ay ind t#at t#e ot#er error" are no &on%er in t#e &i"t.

    +. T#e oppo"ite o ite! t8o can occur. *ou co!pi&e and %et t8o error". *ou

    i= t#e!, and t#e ne=t co!pi&e %enerate" t8e&-e error". )#at #appened

    Ja-a ound t#e ir"t t8o error" and or -ariou" rea"on" "topped co!pi&in%

    t#e pro%ra!. Ja-a &itera&&y Adid not "eeA t#e re"t o t#e error". Once you

    i=ed t#e ir"t t8o error" and reco!pi&ed, Ja-a 8a" ab&e to A"eeA t#e ne=t

    "et o error". T#i" &ead" to one !a;or piece o ad-ice t#at 8i&& be i!portant

    to you 8#en you 8rite your ir"t ori%ina& pro%ra!: co!pi&e reBuent&y and

    i= t#e error" a" you %o. It i" u"ua&&y not a %ood idea to 8rite an entire

    pro%ra! ro! t#e openin% co!!ent to t#e &a"t AA and t#en "tart co!pi&in%

    it or t#e ir"t ti!e. Seein% a &i"t o +/ error" can be -ery depre""in%.

    . I you read an error !e""a%e and it !a5e" no "en"e, %et #e&p. I you read

    an error !e""a%e and under"tand it but cannot ind t#e actua& error, &oo5

    College of Computer Studies 43

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    44/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES a%ain. I you "pend !ore t#an 2+ !inute" in t#i" "tate, %et out"ide #e&p.

    3"5 your teac#er, or, i it1" a&&o8ed, a"5 anot#er "tudent to &oo5 at your

    code. Ju"t "tarin% at code rare&y #e&p" you ind error". 9et #e&pDan

    out"ide pair o eye" can ind t#in%" at a %&ance t#at you, a" t#e ori%ina&

    aut#or, !i%#t ne-er "ee.

    &ommentin% =o(r &ode

    'ocu!entin% code i" one i!portant ta"5 or 8#ic# "ot8are de-e&oper" are

    re"pon"ib&e. One e&e!ent o docu!entin% code correct&y i" inc&udin% co!!ent"

    8it#in t#e code. Co!!entin% code i" -ery i!portant becau"e it !a5e" t#e code

    ea"y to !aintain t#u" !a5in% t#e "ot8are1" tota& co"t o o8ner"#ip &e""

    e=pen"i-e t#an it i" or code t#at i" not 8e&& co!!ented. )#en code i" 8e&&

    co!!ented, it i" &e"" co"t&y to !aintain becau"e any de-e&oper 8#o i"

    !aintainin% it reBuire" &e"" ti!e to under"tand t#e codeK" purpo"e and #o8 t#e

    code 8or5".

    )#en you are 8ritin% co!!ent", you "#ou&d a""u!e t#at t#e reader o t#e

    co!!ent" 8i&& be a de-e&oper o a-era%e co!petence 8#o 5no8" not#in% about

    t#e c&a""K" purpo"e or #o8 t#e code unction". )e&& 8ritten co!!ent" "#ou&d

    e=p&ain t#e purpo"e o t#e c&a"" "o!e8#ere near t#e be%innin% o t#e c&a"".

    Eac# !et#od "#ou&d #a-e at &ea"t one co!!ent p&aced i!!ediate&y beore t#e

    !et#od na!e e=p&ainin% t#e purpo"e o t#e !et#od and #o8 t#e !et#od

    peror!" it" unction. 3ny co!p&icated approac# t#at you u"ed to acco!p&i"# t#e

    !et#odK" unction "#ou&d be brou%#t to t#e attention o t#e reader in order to

    College of Computer Studies 44

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    45/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES !ini!i7e t#e ti!e reBuired by t#e de-e&oper to under"tand #o8 t#e code

    unction".

    3&& o t#e c&a""e" t#at you "ub!it "#ou&d be co!!ented. Co!!ent" can be

    created in t8o 8ay". One !et#od t#at can be u"ed to create a co!!ent i" to

    be%in t#e &ine o code 8it# a ZHH "y!bo&. T8o e=a!p&e" o&&o8.

    HH T#e purpo"e o t#i" c&a"" i" to co!pute t#e a-era%e o t8o nu!ber".

    Or,

    a-era%e >nu!(nu!2?H2 HH co!pute" t#e a-era%e o t8o nu!ber".

    In t#e abo-e e=a!p&e", a&& te=t appearin% ater t#e ZHH 3N' on t#e "a!e &ine 8i&&

    be con"idered to be a co!!ent. T#i" approac# i" typica&&y u"ed 8#en t#e

    co!!ent i" "#ort in &en%t#. Co!!ent" are not co!pi&ed 8#en t#e c&a"" i"

    co!pi&ed. Co!!ent" are not con"idered to be ;a-a "tate!ent". I t#e co!!ent

    8rap" to a ne8 &ine and t#at &ine doe" not be%in 8it# a ZHH "y!bo&, t#e co!pi&er

    8i&& not treat it a" a co!!ent and a co!pi&e error 8i&& be %enerated. So!eti!e"

    t#e co!!ent i" p&aced i!!ediate&y beore t#e &ine>"? o code t#at it i" intended to

    docu!ent, a" "#o8n in t#e ir"t e=a!p&e abo-e, and "o!eti!e" t#e co!!ent i"

    p&aced on t#e "a!e &ine a" t#e &ine o code t#at it i" intended to docu!ent, a"

    "#o8n in t#e "econd e=a!p&e abo-e. Eit#er approac# i" acceptab&e.

    So!eti!e", a co!!ent t#at "pan" "e-era& &ine" i" needed. In t#i" "ituation, t#e

    co!!ent can be created by be%innin% t#e co!!ent 8it# a ZH "y!bo& and

    endin% it 8it# a ZH "y!bo&. 4or e=a!p&e,

    H

    T#i" c&a"" accept" ro! t#e u"er a na!e to di"p&ay and a co&or in 8#ic# to

    College of Computer Studies 45

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    46/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES di"p&ay it. Upon acceptin% t#e u"er1" input, t#e -a&ue o t#e na!e i" "tored in a

    -ariab&e ca&&ed "trNa!e and t#e -a&ue o t#e co&or i" "tored in a -ariab&e ca&&ed

    "trCo&or. T#en t#e paint !et#od i" ca&&ed to di"p&ay t#e output.

    H

    In t#e abo-e e=a!p&e, a&& te=t bet8een t#e [H1 "y!bo& and t#e [H1 "y!bo& i" a

    co!!ent.

    3ra'hi!s and 6ariables

    ja#a.a''let

    -Pro-ide" t#e c&a""e" nece""ary to create an app&et and t#e c&a""e" an

    app&et u"e" to co!!unicate 8it# it" app&et conte=t.

    ja#a.awt

    - Contain" a&& o t#e c&a""e" or creatin% u"er interace" and or paintin%

    %rap#ic" and i!a%e".

    ja#a.awt.e#ent

    - Pro-ide" interace" and c&a""e" or dea&in% 8it# dierent type" o e-ent"

    ired by 3)T co!ponent".

    5''let !lass

    - !u"t be t#e "uperc&a"" o any app&et t#at i" to be e!bedded in a )eb

    pa%e or -ie8ed by t#e Ja-a 3pp&et ie8er.

    -

    pro-ide" a "tandard interace bet8een app&et" and t#eir en-iron!ent.

    &lass 5''let

    College of Computer Studies 46

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    47/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES ;a-a.&an%.Ob;ect

    \

    $$;a-a.a8t.Co!ponent

    \

    $$;a-a.a8t.Container

    \

    $$;a-a.a8t.Pane&

    \

    $$ja#a.a''let.5''let

    init + pub&ic -oid init>?

    Ca&&ed by t#e bro8"er or app&et -ie8er to inor! t#i" app&et t#at it #a" been

    &oaded into t#e "y"te!. It i" a&8ay" ca&&ed beore t#e ir"t ti!e t#at t#e "tart

    !et#od i" ca&&ed.

    3 "ubc&a"" o 3pp&et "#ou&d o-erride t#i" !et#od i it #a" initia&i7ation to peror!.

    4or e=a!p&e, an app&et 8it# t#read" 8ou&d u"e t#e init !et#od to create t#e

    t#read" and t#e de"troy !et#od to 5i&& t#e!.

    start $ pub&ic -oid "tart>?

    Ca&&ed by t#e bro8"er or app&et -ie8er to inor! t#i" app&et t#at it "#ou&d "tart it"

    e=ecution. It i" ca&&ed ater t#e init !et#od and eac# ti!e t#e app&et i" re-i"ited in

    a )eb pa%e.

    3 "ubc&a"" o 3pp&et "#ou&d o-erride t#i" !et#od i it #a" any operation t#at it

    8ant" to peror! eac# ti!e t#e )eb pa%e containin% it i" -i"ited. 4or e=a!p&e,

    College of Computer Studies 47

    http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.htmlhttp://java.sun.com/j2se/1.3/docs/api/java/awt/Component.htmlhttp://java.sun.com/j2se/1.3/docs/api/java/awt/Container.htmlhttp://java.sun.com/j2se/1.3/docs/api/java/awt/Panel.htmlhttp://java.sun.com/j2se/1.3/docs/api/java/lang/Object.htmlhttp://java.sun.com/j2se/1.3/docs/api/java/awt/Component.htmlhttp://java.sun.com/j2se/1.3/docs/api/java/awt/Container.htmlhttp://java.sun.com/j2se/1.3/docs/api/java/awt/Panel.html
  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    48/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES an app&et 8it# ani!ation !i%#t 8ant to u"e t#e "tart !et#od to re"u!e

    ani!ation, and t#e "top !et#od to "u"pend t#e ani!ation.

    sto' + pub&ic -oid "top>?

    Ca&&ed by t#e bro8"er or app&et -ie8er to inor! t#i" app&et t#at it "#ou&d "top it"

    e=ecution. It i" ca&&ed 8#en t#e )eb pa%e t#at contain" t#i" app&et #a" been

    rep&aced by anot#er pa%e, and a&"o ;u"t beore t#e app&et i" to be de"troyed.

    3 "ubc&a"" o 3pp&et "#ou&d o-erride t#i" !et#od i it #a" any operation t#at it

    8ant" to peror! eac# ti!e t#e )eb pa%e containin% it i" no &on%er -i"ib&e. 4or

    e=a!p&e, an app&et 8it# ani!ation !i%#t 8ant to u"e t#e "tart !et#od to re"u!e

    ani!ation, and t#e "top !et#od to "u"pend t#e ani!ation.

    destro* + pub&ic -oid de"troy>?

    Ca&&ed by t#e bro8"er or app&et -ie8er to inor! t#i" app&et t#at it i" bein%

    rec&ai!ed and t#at it "#ou&d de"troy any re"ource" t#at it #a" a&&ocated. T#e "top

    !et#od 8i&& a&8ay" be ca&&ed beore de"troy.

    3 "ubc&a"" o 3pp&et "#ou&d o-erride t#i" !et#od i it #a" any operation t#at it

    8ant" to peror! beore it i" de"troyed. 4or e=a!p&e, an app&et 8it# t#read"

    8ou&d u"e t#e init !et#od to create t#e t#read" and t#e de"troy !et#od to 5i&&

    t#e!.

    'aint + pub&ic -oid paint>9rap#ic" %?

    Paint" t#e container. T#i" or8ard" t#e paint to any &i%#t8ei%#t co!ponent" t#at

    are c#i&dren o t#i" container. I t#i" !et#od i" rei!p&e!ented, "uper.paint>%?

    "#ou&d be ca&&ed "o t#at &i%#t8ei%#t co!ponent" are proper&y rendered. I a c#i&d

    College of Computer Studies 48

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    49/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES co!ponent i" entire&y c&ipped by t#e current c&ippin% "ettin% in %, paint>? 8i&& not

    be or8arded to t#at c#i&d.

    O-erride":

    paint in c&a"" Co!ponent

    Para!eter":

    % $ t#e "peciied 9rap#ic" 8indo8

    ('date + pub&ic -oid update>9rap#ic" %?

    Update" t#e container. T#i" or8ard" t#e update to any &i%#t8ei%#t co!ponent"

    t#at are c#i&dren o t#i" container. I t#i" !et#od i" rei!p&e!ented,

    "uper.update>%? "#ou&d be ca&&ed "o t#at &i%#t8ei%#t co!ponent" are proper&y

    rendered. I a c#i&d co!ponent i" entire&y c&ipped by t#e current c&ippin% "ettin% in

    %, update>? 8i&& not be or8arded to t#at c#i&d.

    O-erride":

    update in c&a"" Co!ponent

    Para!eter":

    % $ t#e "peciied 9rap#ic" 8indo8

    re'aint + '(bli! #oid repaint,

    Repaint" t#i" co!ponent.

    T#i" !et#od cau"e" a ca&& to t#i" co!ponent1" update !et#od a" "oon a"

    po""ib&e

    Deinin% &lasses

    College of Computer Studies 49

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    50/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES pub&ic c&a"" classname

    'ec&aration o in"tance -ariab&e(

    'ec&aration o in"tance -ariab&e2

    ... 'ec&aration o ot#er in"tance -ariab&e" ...

    'einition o !et#od(

    'einition o !et#od2

    ... 'einition o ot#er !et#od" ...

    &omments and White 'a!e

    Re!e!ber t#at Ja-a i%nore" 8#ite "paceD"uc# a" b&an5", tab", e!pty &ine",

    etc.Dbet8een 8ord" in pro%ra!". Note t#at 8#ite "pace in"ide a "trin% >anyt#in%

    in"ide a pair o Buotation !ar5" i" a "trin%? are not i%nored. E=a!p&e: AT#i" i" a

    "trin%A.

    3&"o note t#at anyt#in% in a &ine t#at co!e" ater a pair o "&a"#e" > HH ? i" a

    !omment. Co!!ent" are or t#e #u!an reader, and t#e Ja-a co!pi&er 8i&&

    i%nore t#e!. T#u", 8#en t#e co!pi&er "ee" a pair o "&a"#e", it i%nore" t#e re"t

    o t#e &ine. *ou can a&"o !ar5 "o!et#in% a" a co!!ent by enc&o"in% it bet8een

    a "&a"#$a"teri"5 > H ? and an a"teri"5$"&a"# > H ?. 3nyt#in% t#at a&&" bet8een t#e

    co!!ent de&i!iter" H and H 8i&& be i%nored by t#e co!pi&er.

    am'le &lass

    College of Computer Studies 50

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    51/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES i!port ;a-a.a8t.

    i!port ;a-a.app&et.3pp&et

    pub&ic c&a"" Per"on

    HH 3ttribute" o Per"on a" "#o8n be&o8

    pub&ic Strin% na!e

    pub&ic int a%e

    pub&ic int #ei%#t Y0

    pub&ic Strin% "e=

    pub&ic -oid dra8Per"on >9rap#ic" %, int =, int y?

    HH dra8" t#e per"on, anc#ored at >=,y?

    HH dra8 #ead

    %.dra8O-a&>=, y, 20, +0?

    %.dra83rc>=(2, y, , @, 200, (+/?

    %.dra83rc>=+, y, , @, 200,(+/?

    %.dra8O-a&>=, y20, , /?

    HHdra8 body

    %.dra8Line>= Y, y +0, = Y, y #ei%#t?

    %.dra8Line>=(2, y +0, =(2, y #ei%#t?

    HHdra8 ar!"

    %.dra8Line>= Y, y +0, =, y 0?

    %.dra8Line>=, y 0, = Y, y /0?

    College of Computer Studies 51

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    52/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES %.dra8Line>= (2, y +0, = 20, y 0?

    %.dra8Line>= 20, y 0, = (2, y /0?

    HHdra8 eet

    %.i&&Rect>=, y #ei%#t, (0, +?

    %.i&&Rect>=((, y #ei%#t, (0, +?

    i!port ;a-a.a8t.

    i!port ;a-a.app&et.3pp&et

    pub&ic c&a"" Per"on3pp&et e=tend" 3pp&et

    pub&ic Per"on ;oe HH ;oe i" an in"tance -ariab&e.

    pub&ic -oid init>?

    H init>? i" ca&&ed on&y once.

    T#i" i" 8#ere t#e app&et i" initia&i7ed.H

    ;oe ne8 Per"on>? HH Create a ne8 ob;ect in"tance or Joe 6a!i&ton.

    pub&ic -oid paint > 9rap#ic" % ?

    ;oe.dra8Per"on>%, 20, (/? HH 'ra8 ;oe on t#e app&et.

    Inheritan!e

    College of Computer Studies 52

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    53/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES In#eritance i" u"ed to "peciy an i"$a$5ind$o re&ation"#ip bet8een t8o c&a""e".

    In#eritance pro-ide" a or!a& !ec#ani"! or code reu"e.

    'einition: 3 "ubc&a"" i" a c&a"" t#at deri-e" ro! anot#er c&a"". 3 "ubc&a""

    in#erit" state and behavior ro! a&& o it" ance"tor". T#e ter! superclass reer" to

    a c&a""1" direct ance"tor a" 8e&& a" a&& o it" a"cendant c&a""e".

    i!port ;a-a.a8t.

    pub&ic c&a"" Pro e=tend" Per"on

    HH attribute" o Pro a" "#o8n be&o8

    pub&ic doub&e "a&ary

    HH !et#od" o Pro

    pub&ic -oid dra8c?

    %.i&&Rect>=, y, Y0, /?

    HH 'ra8 a b&ac5 co&ored inner rectan%&e

    %."etCo&or>Co&or.b&ac5?

    %.i&&Rect>= , y , 2, /?

    College of Computer Studies 53

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    54/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES pub&ic -oid dra8Pro>9rap#ic" %, int =, int y?

    dra8Per"on>%, =, y?

    dra8=,y?

    pub&ic -oid dra8Per"on >9rap#ic" %, int =, int y?

    HH dra8 #ead

    %.dra8O-a&>=, y, 20, +0?

    %.dra8O-a&>= ((, y ((, /, +? HH ri%#t eye

    %.dra8O-a&>= +, y ((, /, +? HH &et eye

    %.dra8O-a&>= , y 20, , +? HH !out#

    HHdra8 body

    %.dra8Line>= Y, y +0, = Y, y #ei%#t?

    %.dra8Line>= (2, y +0, = (2, y #ei%#t?

    HH dra8 ar!"

    College of Computer Studies 54

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    55/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES HH ri%#t ar! >appear" to t#e &et?

    %.dra8Line>= Y, y +0, =, y 0?

    %.dra8Line>=, y 0, = Y, y /0?

    HH &et ar!

    %.dra8Line>= (2, y +0, = 20, y 0?

    %.dra8Line>= 20, y 0, = 2Y, y +0?

    HHdra8 eet

    %.i&&Rect>=, y #ei%#t, (0, +?

    %.i&&Rect>= ((, y #ei%#t, (0, +?

    pub&ic -oid dra89rap#ic" %, int =, int y?

    dra8Pro>%, =, y?

    dra8

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    56/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES Namin% &on#entions or Instan!e 6ariables and &lasses

    T#e "ynta= o Ja-a identiier" i" i!portant, a" are t#e na!in% con-ention"

    t#at identiier" o&&o8. T#e con-ention" or Ja-a identiier" are

    "trai%#tor8ard. Con-ention" are %enera&&y o&&o8ed Aru&e"A t#at

    pro%ra!!er" u"e. Con-ention" are not ru&e" in t#e rea& "en"e, "ince t#eir

    -io&ation 8i&& not pre-ent Ja-a pro%ra!" ro! co!pi&in%. e"pecia&&y t#e per"on

    8#o %rade" your pro%ra!"? to read your code. So!e o t#e"e con-ention"

    are:

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    57/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES Identiier" or &oca& -ariab&e" and para!eter" "#ou&d be "#ort and

    !eanin%u&. T#ey u"ua&&y do not contain 8#o&e 8ord". One &etter identiier"

    D"uc# a" i, +, and xD"#ou&d be a-oided e=cept or te!porary -ariab&e"

    or &oop -ariab&e", 8#ic# 8e 8i&& "ee &ater in t#e cour"e.

    T#e na!e" o c&a""e" "#ou&d be "#ort and de"cripti-e noun" or noun

    p#ra"e". T#e ir"t &etter o a c&a"" na!e identiier "#ou&d be%in 8it# a

    capita& &etter. T#e re!ainder o t#e c&a"" na!e o&&o8" t#e con-ention" o

    -ariab&e identiier". C&a"" na!e" "#ou&d be tru&y de"cripti-e o 8#at t#e

    c&a"" repre"ent".

    Writin% a /ethod

    T#e %enera& "ynta= or a !et#od i":

    pub&ic returnType !et#odNa!e >TypeOPara!eter( para!(,

    TypeOPara!2 para!2,...?

    type( &oca&ariab&e(

    type2 &oca&ariab&e2

    ...

    "tate!ent(

    "tate!ent2

    ...

    &on#entions or Namin% /ethods

    College of Computer Studies 57

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    58/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES 3n identiier cannot "tart 8it# a nu!ber and can con"i"t o nu!ber" >0@?, &etter"

    >a7, 3?, do&&ar "i%n" > W ?, and under"core" > V ?. Note t#at !et#od na!e" are

    a&"o identiier", "o t#ey "#ou&d o&&o8 t#e ru&e" or creatin% identiier". T#e

    %enera& na!in% con-ention or !et#od" i" to u"e a -erb or -erb p#ra"e. I t#e

    !et#od na!e con"i"t" o !ore t#an one 8ord, t#e ir"t 8ord i" in &o8erca"e

    &etter" t#e "ub"eBuent 8ord" "tart 8it# an upperca"e &etter". 4or e=a!p&e, t#e

    ma-eDean, !et#od abo-e o&&o8" t#i" con-ention or !u&ti$8ord".

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    59/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES &allin% a /ethod

    Met#od ca&&" o&&o8 t8o pattern":

    One pattern i" or a !et#od o a c&a"" to ca&& anot#er !et#od be&on%in% to

    t#e "a!e c&a"". To ca&& !et#od" in t#e "a!e c&a"", 8e "i!p&y u"e t#e

    na!e o t#e !et#od o&&o8ed by a pair o parent#e"e".

    3not#er pattern i" or a !et#od o a c&a"" to ca&& a !et#od be&on%in% to a

    dierent c&a"". To ca&& a !et#od be&on%in% to a dierent c&a"", 8e "peciy

    t#e na!e o t#e ob;ect and a dot or period > . ? ater t#e ob;ect na!e, and

    t#en t#e !et#od na!e.

    Be*ond Dis'la*in% Ima%es and Te0t

    T#e Ja-a &an%ua%e pro-ide" a "et o ob;ect" t#at a&&o8 u"er" to interact 8it#

    pro%ra!". T#e"e ob;ect" are %rap#ica& in nature and u"ua&&y reBuire a !ou"e

    c&ic5 or "o!e part o t#e interaction. T#ey are co!!on&y ca&&ed wid%etsin 9UI

    ;ar%on, and t#ey !a5e up a a!i&y o e&e!ent" 8e can u"e to bui&d %rap#ica& u"er

    interace" >or 9UI"?.

    &lass Hierar!h*

    3 part o t#e c&a"" #ierarc#y or t#e c&a"" &om'onenti" %i-en be&o8.

    College of Computer Studies 59

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    60/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES

    E-eryt#in% in t#e dra8in% t#at i" be&o8 &om'onent i" a "ubc&a"" o

    &om'onent.

    Label &lass

    T#e c&a"" Label#a" t#ree con"tructor".

    B(tton &lass

    T#e B(ttonc&a"" 8i&& be u"ed e=ten"i-e&y or u"er input. T#e B(ttonc&a""

    #a" t8o con"tructor" and t8o !et#od" t#at %et and "et t#e &abe& t#at i"

    di"p&ayed in"ide t#e button..

    Te0t&om'onent &lass

    College of Computer Studies 60

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    61/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES T#e Te0t&om'onentc&a"" i" an ab"tract c&a"", "o it #a" no con"tructor.

    T#e one Te0t&om'onent!et#od to re!e!ber i" setEditable, ,

    Te0t)ield and Te0t5rea

    T#e Te0t)ield and Te0t5rea c&a""e" are bot# "ubc&a""e" o t#e

    Te0t&om'onent c&a"". T#e Te0t)ield c&a"" #a" our con"tructor" t#at

    enab&e one to bui&d t#e e=act Te0t)ieldob;ect t#at i" needed.

    Te0t5rea ob;ect" are -ery "i!i&ar to Te0t)ields. 6o8e-er, 8#erea"

    Te0t)ield ob;ect" a&&o8 u"er" to input a "in%&e &ine o te=t on&y, Te0t5rea

    ob;ect" a&&o8 t#e! to input !u&tip&e &ine" o te=t.

    5 im'le E0am'le; Labels: Te0t)ields: Te0t5reas: and B(ttons

    H

    SS'($GIntroduction to Ja-a$GUnder"tandin% C&a""e"$G)id%et"

    )id%et e=a!p&e"

    3ttention:

    T#e code #ere u"e" a e8 concept" t#at #a-e not yet been introduced.

    U"e t#i" app&et ;u"t a" a

    %rap#ica& i&&u"tration o 8id%et".

    College of Computer Studies 61

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    62/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES H

    i!port ;a-a.app&et.

    i!port ;a-a.a8t.

    pub&ic c&a"" )id%et" e=tend" 3pp&et

    pri-ate Labe& na!eLabe&, addre""Labe&, !e""a%eLabe&

    pri-ate Te=t4ie&d na!e, addre""

    pri-ate Te=t3rea !e""a%e

    pri-ate ?

    "etLayout>nu&&?

    HH Create t#ree Labe&", na!ed ANa!eA, A3ddre""A and AMe""a%eA.

    na!eLabe& ne8 Labe&>ANa!eA?

    addre""Labe& ne8 Labe&>A3ddre""A?

    !e""a%eLabe& ne8 Labe&>AMe""a%eA?

    HH Create Te=t4ie&d" to enter t#e na!e and addre"".

    na!e ne8 Te=t4ie&d>AJean$Luc PicardA?

    College of Computer Studies 62

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    63/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES addre"" ne8 Te=t4ie&d>AEnterpri"eA?

    HH Create a Te=t3rea to enter a !e""a%e.

    !e""a%e ne8 Te=t3rea>ARe"i"tance i" 4uti&eA, /0, /0?

    HH Create a 0, 0? na!eLabe&."etSi7e>0, 20?

    addre""Labe&."etLocation>0, 20? addre""Labe&."etSi7e>0, 20?

    !e""a%eLabe&."etLocation>0, 0? !e""a%eLabe&."etSi7e>0, 20?

    na!e."etLocation>(00, 0? na!e."etSi7e>220, 20?

    addre""."etLocation>(00, 20? addre""."etSi7e>220, 20?

    !e""a%e."etLocation>(00, 0? !e""a%e."etSi7e>220, (00?

    button."etLocation>((0, (/0? button."etSi7e>(00, 20?

    HH 3dd t#e 8id%et" to t#e app&et

    add>na!eLabe&? add>na!e?

    add>addre""Labe&? add>addre""?

    add>!e""a%eLabe&? add>!e""a%e?

    College of Computer Studies 63

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    64/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES add>button?

    What is E#ent+Dri#en $ro%rammin%>

    E#ent+dri#en 'ro%rammin% i" ca&&ed t#at becau"e it in-o&-e" 8ritin%

    pro%ra!" t#at react to e#entsD"uc# a" 5ey pre""e", button c&ic5", !ou"e

    !o-e!ent", and "o on. T#e ba"ic rea&ity o t#i" type o pro%ra!!in% i" t#at

    e-ent" are unpredictab&e.

    Step" to your approac#:

    T#e o&&o8in% "tep" out&ine one approac# to de"i%nin% pro%ra!".

    (. T#e !o"t i!portant "tep in pro%ra!!in% i" to de"i%n your pro%ra!

    beore you be%in to code it. Startin% to code a pro%ra! beore you

    #a-e %i-en t#ou%#t to t#e de"i%n i" certain to re"u&t in ru"tration.

    *ou "#ou&d "5etc# your approac# on paper beore you be%in to code.

    4or !any "tudent", co!p&etin% "tep" 2 t#rou%# / be&o8, t#en

    "5etc#in% t#e &o8 o t#e pro%ra! i" -ery #e&pu&.

    2. 4or any pro%ra!!in% a""i%n!ent, t#e ir"t 5ey i" to under"tand t#e

    prob&e!.

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    65/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES . 'eine 8#at input" are needed ro! t#e u"er in order or your

    pro%ra! to produce t#e correct output.

    /. 3ter you 5no8 8#at t#e output i" and 8#at input" t#e u"er !u"t

    pro-ide, you "#ou&d be ab&e to deine 8#at action" your pro%ra!

    "#ou&d peror! on t#e u"er1" input" in order to produce t#e

    appropriate output".

    . Many be%innin% de-e&oper" can co!p&ete "tep" ( t#rou%# abo-e

    8it#out !uc# prob&e!. T#e ne=t "tep, de"i%nin% #o8 t#e pro%ra!

    8i&& accept t#e input" ro! u"er, proce"" t#e!, ca&cu&ate t#e output"

    and di"p&ay t#e output" to t#e u"er i" 8#ere !o"t "tudent" #a-e

    prob&e!". So!eti!e" "tudent" #a-e prob&e!" identiyin% in 8#ic#

    !et#od" t#ey "#ou&d p&ace to code to peror! t#e -ariou" unction".

    *ou "#ou&d dra8 a "i!p&e dia%ra! or out&ine on paper beore you

    be%in to code. T#i" dia%ra! or out&ine "#ou&d "#o8 in %enera& ter!",

    t#e !et#od" t#at you are %oin% to u"e, t#e -ariab&e" reBuired in eac#

    !et#od and t#e action" t#at eac# !et#od i" %oin% to peror!

    T#ere are "o!e %uide&ine" t#at you !i%#t ind to be u"eu& in !a5in% your

    dia%ra! or out&ine. T#e ir"t action t#at a pro%ra! peror!" i" u"ua&&y to

    accept t#e input" ro! t#e u"er. T#e actionPeror!ed !et#od i" co!!on&y

    u"ed to accept input ro! t#e u"er and "tore t#e u"er1" input" in -ariab&e".

    So!eti!e", code can be p&aced in t#e actionPeror!ed !et#od t#at te"t"

    t#e -a&ue" o t#e u"er1" input and deter!ine" 8#ic# !et#od to ca&& ba"ed on

    t#e -a&ue o t#e u"er1" input. So!eti!e", t#e actionPeror!ed !et#od

    College of Computer Studies 65

  • 8/13/2019 MELJUN CORTES MANUAL Intro Information System JAVA Applets COMP02

    66/198

    COMP02 Instructional Manual

    Prepared by: MELJUN P. CORTES "i!p&y accept" t#e u"er" input and ca&&" a dierent !et#od, pa""in%

    para!eter" to t#e ca&&ed !et#od to "et t#e -a&ue o t#e ca&&ed !et#od1" &oca&

    -ariab&e". T#i" !et#od t#en te"t" t#e -a&ue" o t#e u"er" input" i nece""ary

    are direct" t#e &o8 o pro%ra!. T#e "trate%y t#at i" e!p&oyed 8i&& be

    deter!ined ba"ed on t#e nature o t#e pro%ra!!in% a""i%n!ent. In any

    e-ent, t#e actionPeror!ed !et#od i" u"ua&&y u"ed to accept t#e input" ro!

    t#e u"er, decide 8#at action to ta5e ne=t and pa"" para!eter" to t#e

    !et#od t#at it ca&&".

    T#e !et#od" t#at proce"" t#e u"er1" input are u"ua&&y created and %i-en a

    na!e by t#e de-e&oper, 8it# eac# !et#od #a-in% a narro8&y deined

    unction. T#e"e !et#od" u"ua&&y u"e %&oba& -ariab&e" andHor accept -a&ue"

    or t#eir &oca& -ariab&e" a" para!eter" ro! t#e !et#od" t#at ca&& t#e!. 3t

    "o!e point, one o t#e"e !et#od" u"ua&&y ca&&" t#e paint !et#od, pa""in%

    t#e appropriate para!eter", in order to #a-e t#e output di"p&ayed to t#e

    u"er.

    . T#e paint !et#od i" co!!on&y u"ed to di"p&ay t#e output to t#e u"er.

    So!eti!e" ca&cu&ation" t#at are crucia& to di"p&ayin% t#e output correct&y,

    "uc# a" t#e "i7e o t#e app&et, are p&aced in t#e paint !et#od to ca