ƁƈƁƍƁƒƉƏƒ ƅ. ƊƏƔƓƒƏƍƉƊƏƋƁƒ
ȆĮȡĮįİȓȖµĮIJĮ ıIJȘȞ īȜȫııĮ ȆȡȠȖȡĮµµĮIJȚıµȠȪ
Java
ƮƭƧƷƳ 2004
ȆĮȡĮįİȓȖµĮIJĮ Java
ȆǼȇǿǼȋȅȂǼȃǹ 0.
ǼȚıĮȖȦȖȒ ....................................................................................................................1
1.
Ǿ ȆȡȫIJȘ ǼijĮȡµȠȖȒ ıİ Java.......................................................................................1
2.
Ǿ ȆȡȫIJȘ ȂȚțȡȠİijĮȡµȠȖȒ (Applet)..............................................................................2
3.
ȂİIJĮȕȜȘIJȑȢ țĮȚ Strings................................................................................................2
4.
ǼȡȖĮıȓİȢ µİ Strings.....................................................................................................2
5.
Ǿ ǼȞIJȠȜȒ If ..................................................................................................................3
6.
Ǿ ǼȞIJȠȜȒ Switch..........................................................................................................3
7.
Ǿ ǼȞIJȠȜȒ For ...............................................................................................................4
8.
Ǿ ǼȞIJȠȜȒ While ...........................................................................................................4
9.
Ǿ ǼȞIJȠȜȒ Do ... While..................................................................................................4
10.
Ǿ ǼȞIJȠȜȒ Break ...........................................................................................................5
11.
ȅȚ ȆȓȞĮțİȢ (Arrays) ıIJȘȞ Java.....................................................................................5
12.
ȉĮ ǹȞIJȚțİȓµİȞĮ (Objects) .............................................................................................6
13.
Ǿ ȀȜȘȡȠȞȠµȚțȩIJȘIJĮ (Inheritance) ................................................................................6
14.
ȅȚ ȂȚțȡȠİijĮȡµȠȖȑȢ (Applets) .....................................................................................7
15.
Ǿ ȆȠȜȣİʌİȟİȡȖĮıȓĮ (Multitasking) ..............................................................................9
16.
ȆȑȡĮıµĮ ȆĮȡĮµȑIJȡȦȞ ıİ Applets ..............................................................................9
17.
Ǿ ȀȜȐıȘ Font (īȡĮµµĮIJȠıİȚȡȑȢ) ...............................................................................10
18.
Ǿ ȀȜȐıȘ Color (ȋȡȫµĮIJĮ) ........................................................................................10
19.
ȋȡȒıȘ īȡĮijȚțȫȞ .......................................................................................................11
20.
ȆȜȒțIJȡĮ ǼȞIJȠȜȒȢ ......................................................................................................12
21.
ǼIJȚțȑIJİȢ țĮȚ ȆȜĮȓıȚĮ ȀİȚµȑȞȠȣ ...................................................................................13
22.
ȆȜĮȓıȚĮ ǼȜȑȖȤȠȣ țĮȚ ȆȜȒțIJȡĮ ǼʌȚȜȠȖȒȢ ...................................................................13
23.
ȁȓıIJİȢ ǼʌȚȜȠȖȒȢ ........................................................................................................14
24.
ȆİȡȚȠȤȑȢ ȀİȚµȑȞȠȣ .....................................................................................................14
25.
ȉĮ Layout Managers .................................................................................................15
26.
ȅ GridLayout Manager..............................................................................................15
27.
ȅ BorderLayout Manager..........................................................................................15
28.
ȉĮ ȈȣµȕȐȞIJĮ ȋȡȒıIJȘ ................................................................................................15
29.
ȈȣµȕȐȞIJĮ µİ ȆȜĮȓıȚĮ ǼȜȑȖȤȠȣ țĮȚ ȁȓıIJİȢ ǼʌȚȜȠȖȒȢ .................................................17
30.
ȈȣµȕȐȞIJĮ µİ ȆȜĮȓıȚĮ ȀİȚµȑȞȠȣ .................................................................................17
ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -1-
0. ǼȚıĮȖȦȖȒ Ǿ ȖȜȫııĮ ʌȡȠȖȡĮµµĮIJȚıµȠȪ Java İȓȞĮȚ Įʌȩ IJȚȢ įȘµȠijȚȜȑıIJİȡİȢ ıIJȠ İȓįȠȢ IJȘȢ țĮȚ µʌȠȡİȓ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ IJȩıȠ ȖȚĮ ĮȣIJȩȞȠµİȢ İijĮȡµȠȖȑȢ ȩıȠ țĮȚ ȖȚĮ İijĮȡµȠȖȑȢ ʌȠȣ İțIJİȜȠȪȞIJĮȚ ĮʌȠțȜİȚıIJȚțȐ ıIJȠ Web țĮȚ ĮʌȠțĮȜȠȪȞIJĮȚ µȚțȡȠİijĮȡµȠȖȑȢ (applets). ȉĮ ʌȘȖĮȓĮ ĮȡȤİȓĮ (ʌȡȠȖȡȐµµĮIJĮ) IJȘȢ Java µʌȠȡȠȪµİ ȞĮ IJĮ ȖȡȐȥȠȣµİ µ' ȑȞĮȞ ĮʌȜȩ İʌİȟİȡȖĮıIJȒ țİȚµȑȞȠȣ, ȩʌȦȢ İȓȞĮȚ IJȠ ȈȘµİȚȦµĮIJȐȡȚȠ (Notepad) IJȦȞ Windows, țĮȚ ʌȡȑʌİȚ ȞĮ ȑȤȠȣȞ IJȘȞ İʌȑțIJĮıȘ .java. Ǿ İʌȩµİȞȘ įȚĮįȚțĮıȓĮ İȓȞĮȚ ȞĮ µİIJĮȖȜȦIJIJȓıȠȣµİ (compile) IJȠ ʌȡȩȖȡĮµµĮ Įʌȩ IJȘ ȖȡĮµµȒ İȞIJȠȜȫȞ IJȠȣ Ms-Dos µİ IJȘȞ İȞIJȠȜȒ javac prog01.java ȖȚĮ ȞĮ įȘµȚȠȣȡȖȘșİȓ IJȠ ĮȡȤİȓȠ prog01.class, IJȠ ȠʌȠȓȠ µʌȠȡİȓ ȞĮ ȤȡȘıȚµȠʌȠȚȘșİȓ ĮȞİȟȐȡIJȘIJĮ Įʌȩ ȜİȚIJȠȣȡȖȚțȩ ıȪıIJȘµĮ (ʌȜĮIJijȩȡµĮ), įȘȜ. IJȠ ȓįȚȠ țĮȚ ıİ Windows țĮȚ ıİ Macintosh țĮȚ ıİ Unix țĮȚ ıİ Linux. īȚĮ ȞĮ İțIJİȜȑıȠȣµİ ȑȞĮ µİIJĮȖȜȦIJIJȚıµȑȞȠ ʌȡȩȖȡĮµµĮ IJȘȢ Java ʌȡȑʌİȚ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ ȑȞĮȞ įȚİȡµȘȞİȣIJȒ (interpreter) Ȓ µȚĮ İȚțȠȞȚțȒ µȘȤĮȞȒ IJȘȢ Java (JVM, Java Virtual Machine), ȩʌȦȢ ĮʌȠțĮȜİȓIJĮȚ. ǹȞ ʌȡȩțİȚIJĮȚ ȖȚĮ ĮʌȜȒ İijĮȡµȠȖȒ IJȘȢ Java, µʌȠȡȠȪµİ ȞĮ IJȘȞ İțIJİȜȑıȠȣµİ Įʌȩ IJȘ ȖȡĮµµȒ İȞIJȠȜȫȞ IJȠȣ Ms-Dos µİ IJȘȞ İȞIJȠȜȒ java prog01, İȞȫ ĮȞ ʌȡȩțİȚIJĮȚ ȖȚĮ µȚțȡȠİijĮȡµȠȖȒ (applet), șĮ ʌȡȑʌİȚ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȚȢ İIJȚțȑIJİȢ (tags) <applet> țĮȚ </applet> ȖȚĮ ȞĮ ʌȡȠıįȚȠȡȓıȠȣµİ IJȠ µİIJĮȖȜȦIJIJȚıµȑȞȠ ĮȡȤİȓȠ IJȘȢ Java ʌȠȣ șĮ İțIJİȜİıșİȓ țĮșȫȢ țĮȚ IJȠ ʌȜȐIJȠȢ (width) țĮȚ IJȠ ȪȥȠȢ (height) IJȠȣ ʌĮȡĮșȪȡȠȣ ȩʌȠȣ șĮ İțIJİȜİıșİȓ Ș µȚțȡȠİijĮȡµȠȖȒ µȑıĮ ıIJȘȞ ȚıIJȠıİȜȓįĮ. DzȞĮȢ İȞĮȜȜĮțIJȚțȩȢ IJȡȩʌȠȢ ݵijȐȞȚıȘȢ IJȦȞ applets İȓȞĮȚ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȘȞ İȞIJȠȜȒ appletviewer prog01.html Įʌȩ IJȘ ȖȡĮµµȒ İȞIJȠȜȫȞ IJȠȣ Ms-Dos, ȩʌȠȣ prog01.html İȓȞĮȚ Ș ȚıIJȠıİȜȓįĮ ʌȠȣ ʌİȡȚȑȤİȚ IJȠ applet. 1. Ǿ ȆȡȫIJȘ ǼijĮȡµȠȖȒ ıİ Java ǹțȠȜȠȣșİȓ Ș ʌȡȫIJȘ İijĮȡµȠȖȒ ıİ Java. /* ȆĮȡȐįİȚȖµĮ 1 */ /* ǼȓȞĮȚ Ș İijĮȡµȠȖȒ Hello World */ class HelloWorld { public static void main (String[ ] args) { System.out.println("Hello World"); // Ǿ ʌȡȫIJȘ µĮȢ İijĮȡµȠȖȒ ıİ Java } } Ǿ İȞIJȠȜȒ class ȠȡȓȗİȚ IJȠ ȩȞȠµĮ µȚĮȢ țȜȐıȘȢ (țȜȐıȘȢ, class), ʌȠȣ İįȫ İȓȞĮȚ IJȠ HelloWorld țĮȚ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ ȣʌȠȤȡİȦIJȚțȐ IJȠ ȓįȚȠ țĮȚ µİ IJĮ ȓįȚĮ ʌİȗȐ țĮȚ țİijĮȜĮȓĮ ȖȡȐµµĮIJĮ µİ IJȠ ȩȞȠµĮ IJȠȣ ʌȘȖĮȓȠȣ ĮȡȤİȓȠȣ (ʌȡȠȖȡȐµµĮIJȠȢ) IJȘȢ Java, įȘȜ. HelloWorld.java. Ǿ ıȣȞȐȡIJȘıȘ main() ʌȡȑʌİȚ ȞĮ ȣʌȐȡȤİȚ ȣʌȠȤȡİȦIJȚțȐ ıİ țȐșİ ĮʌȜȒ İijĮȡµȠȖȒ (ȩȤȚ µȚțȡȠİijĮȡµȠȖȒ) IJȘȢ Java țĮȚ İȓȞĮȚ Ș ʌȡȫIJȘ İȞIJȠȜȒ ʌȠȣ ĮȞĮȗȘIJȐ Ș Java țĮIJȐ IJȘȞ µİIJĮȖȜȫIJIJȚıȘ țĮȚ İțIJȑȜİıȘ IJȘȢ İijĮȡµȠȖȒȢ. Ȃİ IJȚȢ ĮȖțȪȜİȢ { țĮȚ }, µʌȠȡȠȪµİ ȞĮ ȤȦȡȓıȠȣµİ IJȠȞ țȫįȚțĮ IJȠȣ ʌȡȠȖȡȐµµĮIJȠȢ ıİ ȜȠȖȚțȑȢ İȞȩIJȘIJİȢ (blocks). īȚĮ ıȤȩȜȚĮ (comments) µȓĮȢ ȖȡĮµµȒȢ, µʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȠȣȢ ȤĮȡĮțIJȒȡİȢ //, İȞȫ ȖȚĮ ıȤȩȜȚĮ ʌȠȜȜȫȞ ȖȡĮµµȫȞ IJȠȣȢ ȤĮȡĮțIJȒȡİȢ /* Ȓ /** ȖȚĮ IJȘȞ ĮȡȤȒ IJȠȣ ıȤȠȜȓȠȣ țĮȚ IJȠȣȢ ȤĮȡĮțIJȒȡİȢ */ ȖȚĮ IJȠ IJȑȜȠȢ IJȠȣ ıȤȠȜȓȠȣ. ȅȚ ȤĮȡĮțIJȒȡİȢ /** țĮȚ */ ĮʌȠIJİȜȠȪȞ ȑȞĮ ıȤȩȜȚȠ IJİțµȘȡȓȦıȘȢ (documentation comment), ʌȠȣ IJȠ ȤȡȘıȚµȠʌȠȚİȓ IJȠ İȡȖĮȜİȓȠ (tool) javadoc ȩIJĮȞ İIJȠȚµȐȗİȚ IJȘȞ ĮȣIJȩµĮIJȘ įȘµȚȠȣȡȖȓĮ IJİțµȘȡȓȦıȘȢ (documentation). ǹȞ µİIJĮȖȜȦIJIJȓıȠȣµİ țĮȚ İțIJİȜȑıȠȣµİ µİ İʌȚIJȣȤȓĮ IJȠ ʌĮȡĮʌȐȞȦ ʌȡȩȖȡĮµµĮ, șĮ ʌȡȑʌİȚ ȞĮ įȠȪµİ ıIJȘȞ ȠșȩȞȘ IJȠ İȟȒȢ µȒȞȣµĮ: Hello World
ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -2-
2. Ǿ ȆȡȫIJȘ ȂȚțȡȠİijĮȡµȠȖȒ (Applet) ǹțȠȜȠȣșİȓ Ș ʌȡȫIJȘ µȚțȡȠİijĮȡµȠȖȒ ıİ Java. /* ȆĮȡȐįİȚȖµĮ 2 */ /* ǼȓȞĮȚ Ș µȚțȡȠİijĮȡµȠȖȒ HelloWorld1 */ import java.applet.Applet; import java.awt.Graphics; public class HelloWorld1 extends Applet { int baros = 0; public void init() { baros = 100; } public void paint(Graphics g) { g.drawString("ȉȠ ȕȐȡȠȢ µȠȣ İȓȞĮȚ: " + baros + " țȚȜȐ", 10, 20); } } Ȉ' ĮȣIJȩ IJȠ ʌȡȩȖȡĮµµĮ ȑȤȠȣµİ įȘȜȫıİȚ µȚĮ µİIJĮȕȜȘIJȒ µİ ȩȞȠµĮ baros, ʌȠȣ İȓȞĮȚ ĮțȑȡĮȚȠȢ (integer), țĮȚ Ș ȑȟȠįȩȢ µĮȢ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ İȞȦµȑȞĮ strings țĮȚ IJȘȞ IJȚµȒ IJȘȢ µİIJĮȕȜȘIJȒȢ baros. Ǿ µȑșȠįȠȢ init() țĮȜİȓIJĮȚ µȩȞȠ µȓĮ ijȠȡȐ ȩIJĮȞ İțIJİȜİȓIJĮȚ IJȠ applet țĮȚ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ ȞĮ ȠȡȓıİȚ µİIJĮȕȜȘIJȑȢ ʌȠȣ ȤȡİȚȐȗȠȞIJĮȚ ıIJȠ applet. Ǿ µȑșȠįȠȢ paint() İȓȞĮȚ ȣʌȠȤȡİȦIJȚțȒ ıİ țȐșİ applet țĮȚ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ ȞĮ µʌȠȡȠȪµİ ȞĮ ݵijĮȞȓȗȠȣµİ ȠIJȚįȒʌȠIJİ șȑȜȠȣµİ ı' ȑȞĮ applet. ȋȡȘıȚµȠʌȠȚİȓ ȑȞĮ ȩȡȚıµĮ (argument), IJȠ ȠʌȠȓȠ İȓȞĮȚ IJȠ ĮȞIJȚțİȓµİȞȠ Graphics IJȠȣ ʌĮțȑIJȠȣ java.awt, ʌȠȣ İįȫ IJȠ ȠȞȠµȐıĮµİ g. Ȃİ IJȘȞ İȞIJȠȜȒ (ıȣȞȐȡIJȘıȘ Ȓ µȑșȠįȠ) drawString(), ʌȠȣ ĮȞȒțİȚ ıIJȠ ĮȞIJȚțİȓµİȞȠ Graphics, µʌȠȡȠȪµİ ȞĮ ݵijĮȞȓıȠȣµİ ȑȞĮ µȒȞȣµĮ ıIJȘȞ ȠșȩȞȘ ıİ ıȣȖțİțȡȚµȑȞȠ ıȘµİȓȠ x=10 țĮȚ y=20, ȩʌȠȣ Ș șȑıȘ 0, 0 İȓȞĮȚ Ș ʌȐȞȦ ĮȡȚıIJİȡȒ ȖȦȞȓĮ IJȠȣ ʌĮȡĮșȪȡȠȣ ݵijȐȞȚıȘȢ IJȠȣ applet µȑıĮ ıIJȘȞ ȚıIJȠıİȜȓįĮ. 3. ȂİIJĮȕȜȘIJȑȢ țĮȚ Strings īȚĮ ȞĮ įȘȜȫıȠȣµİ µİIJĮȕȜȘIJȑȢ ıIJȘȞ Java țĮȚ ȞĮ įȫıȠȣµİ țĮȚ ĮȡȤȚțȑȢ IJȚµȑȢ, µʌȠȡȠȪµİ ȞĮ ȖȡȐȥȠȣµİ IJĮ İȟȒȢ: int a; float p; float weight = 90; char initial = 'A'; String name = "George"; boolean married = true; 4. x x x
ǼȡȖĮıȓİȢ µİ Strings īȚĮ ȞĮ ıȣȖțȡȓȞȠȣµİ strings ıIJȘȞ Java ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ equals(). īȚĮ ȞĮ ȕȡȠȪµİ IJȠ µȒțȠȢ İȞȩȢ string ıIJȘȞ Java ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ length(). īȚĮ ȞĮ µİIJĮIJȡȑȥȠȣµİ ȑȞĮ string ıİ țİijĮȜĮȓĮ Ȓ ʌİȗȐ ȖȡȐµµĮIJĮ ȤȡȘıȚµȠʌȠȚȠȪµİ IJȚȢ µİșȩįȠȣȢ toUpperCase() țĮȚ toLowerCase() ĮȞIJȓıIJȠȚȤĮ.
ǹțȠȜȠȣșȠȪȞ ʌĮȡĮįİȓȖµĮIJĮ: /* ȆĮȡȐįİȚȖµĮ 4 */ /* ǼȡȖĮıȓİȢ µİ Strings */ class StrWorks ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -3-
{ public static void main (String[ ] args) { String first = "John"; String second = "Anna"; System.out.println("ǼȓȞĮȚ IJĮ ȠȞȩµĮIJĮ ȓįȚĮ; " + first.equals(second)); System.out.println("ȉȠ ʌȡȫIJȠ ȩȞȠµĮ ȑȤİȚ " + first.length() + " ȖȡȐµµĮIJĮ"); System.out.println("ȉȠ ʌȡȫIJȠ ȩȞȠµĮ µİ țİijĮȜĮȓĮ: " + first.toUpperCase()); System.out.println("ȉȠ įİȪIJİȡȠ ȩȞȠµĮ µİ ʌİȗȐ: " + second.toLowerCase()); } } 5. Ǿ ǼȞIJȠȜȒ If Ǿ İȞIJȠȜȒ if µʌȠȡİȓ ȞĮ ʌȐȡİȚ IJȚȢ İȟȒȢ µȠȡijȑȢ ıIJȘȞ Java: int balance = -1; if (balance < 0) System.out.println("ȅ ȁȠȖĮȡȚĮıµȩȢ ıĮȢ įİȞ ȑȤİȚ ĮȞIJȓțȡȚıµĮ"); int balance = 3; if (balance < 0) System.out.println("ȅ ȁȠȖĮȡȚĮıµȩȢ ıĮȢ įİȞ ȑȤİȚ ĮȞIJȓțȡȚıµĮ"); else System.out.println("ȉĮ įȚĮșȑıȚµĮ țȠȞįȪȜȚĮ İȓȞĮȚ: " + balance); int balance = 0; if (balance < 0) System.out.println("ȅ ȁȠȖĮȡȚĮıµȩȢ ıĮȢ įİȞ ȑȤİȚ ĮȞIJȓțȡȚıµĮ"); else if (balance = = 0) System.out.println("ǻİȞ ȣʌȐȡȤȠȣȞ țȠȞįȪȜȚĮ ıIJȠȞ ȁȠȖĮȡȚĮıµȩȢ ıĮȢ"); else System.out.println("ȉĮ įȚĮșȑıȚµĮ țȠȞįȪȜȚĮ İȓȞĮȚ: " + balance); 6. Ǿ ǼȞIJȠȜȒ Switch ǼțIJȩȢ Įʌȩ IJȚȢ ijȦȜȚĮıµȑȞİȢ İȞIJȠȜȑȢ if-else, ȑȞĮȢ ȐȜȜȠȢ IJȡȩʌȠȢ ȖȚĮ ȞĮ İȜȑȖȟȠȣµİ ʌȠȜȜȑȢ įȚĮijȠȡİIJȚțȑȢ țĮIJĮıIJȐıİȚȢ İȓȞĮȚ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȘȞ İȞIJȠȜȒ switch. /* ȆĮȡȐįİȚȖµĮ 6 */ /* Ǿ ǼȞIJȠȜȒ Switch */ class Months { public static void main (String[ ] args) { int month = 0; if (args.length > 0) month = Integer.parseInt(args[0]); switch (month) { case (1): System.out.println("ǿĮȞȠȣȐȡȚȠȢ"); break; case (2): System.out.println("ĭİȕȡȠȣȐȡȚȠȢ"); break; case (3): System.out.println("ȂȐȡIJȚȠȢ"); break; ... default: System.out.println("ȁȐșȠȢ IJȚµȒ"); ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -4-
} }
}
7. Ǿ ǼȞIJȠȜȒ For ȅ ȕȡȩȤȠȢ (loop) for ȗȘIJȐİȚ Įʌȩ IJȠȞ ȣʌȠȜȠȖȚıIJȒ ȞĮ İțIJİȜȑıİȚ µȚĮ ıȣȖțİțȡȚµȑȞȘ İȡȖĮıȓĮ ȑȞĮȞ ȠȡȚıµȑȞȠ ĮȡȚșµȩ ijȠȡȫȞ. /* Ǿ ǼȞIJȠȜȒ For */ class Numbers01 { public static void main(String[ ] args) { for (int number = 0; number < 100; number++) { System.out.println("ǹȡȚșµȩȢ: " + number + "."); } } } 8. Ǿ ǼȞIJȠȜȒ While ȅ ȕȡȩȤȠȢ while İȜȑȖȤİȚ µȚĮ ıȣȞșȒțȘ țĮȚ ĮȞ ĮȣIJȒ İȓȞĮȚ ĮȜȘșȒȢ (true), İʌĮȞĮȜĮµȕȐȞİȚ µȚĮ ȠµȐįĮ İȞIJȠȜȫȞ. /* Ǿ ǼȞIJȠȜȒ While */ class Numbers02 { public static void main(String[ ] args) { int number = 0; while (number < 100) { System.out.println("ǹȡȚșµȩȢ: " + number + "."); number++; } } } 9. Ǿ ǼȞIJȠȜȒ Do ... While ȅ ȕȡȩȤȠȢ do ... while İțIJİȜİȓ µȚĮ ȠµȐįĮ İȞIJȠȜȫȞ µȓĮ ijȠȡȐ IJȠȣȜȐȤȚıIJȠȞ țĮȚ µİIJȐ İȜȑȖȤİȚ µȚĮ ıȣȞșȒțȘ țĮȚ ĮȞ ĮȣIJȒ İȓȞĮȚ ĮȜȘșȒȢ (true), IJȩIJİ İʌĮȞĮȜĮµȕȐȞİȚ IJȘȞ ȠµȐįĮ İȞIJȠȜȫȞ. /* Ǿ ǼȞIJȠȜȒ Do ... While */ class Numbers03 { public static void main(String[ ] args) { int number = 0; do { System.out.println("ǹȡȚșµȩȢ: " + number + "."); number++; } while (number < 100); } } ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -5-
10. Ǿ ǼȞIJȠȜȒ Break īȚĮ ȞĮ ȕȖȠȪµİ Įʌȩ ȑȞĮȞ ȕȡȩȤȠ, Ƞ țĮȞȠȞȚțȩȢ IJȡȩʌȠȢ İȓȞĮȚ ȞĮ ȖȓȞİȚ ȥİȣįȒȢ (false) Ș ıȣȞșȒțȘ İȜȑȖȤȠȣ IJȠȣ ȕȡȩȤȠȣ, ȣʌȐȡȤȠȣȞ ȩµȦȢ ʌİȡȚʌIJȫıİȚȢ ʌȠȣ șȑȜȠȣµİ ȞĮ ȕȖȠȪµİ ȞȦȡȓIJİȡĮ Įʌȩ IJȠȞ ȕȡȩȤȠ țĮȚ ʌȡȠȢ IJȠȞ ıțȠʌȩ ĮȣIJȩ ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ İȞIJȠȜȒ break. /* Ǿ ǼȞIJȠȜȒ Break */ class Numbers04 { public static void main(String[ ] args) { int number = 0; do { number++; System.out.println("ǹȡȚșµȩȢ: " + number + "."); if (number = = 50) break; } while (number < 100); } } 11. ȅȚ ȆȓȞĮțİȢ (Arrays) ıIJȘȞ Java ȂʌȠȡȠȪµİ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ʌȓȞĮțİȢ (arrays) ȖȚ' ȩȜĮ IJĮ İȓįȘ IJȦȞ ʌȜȘȡȠijȠȡȚȫȞ ʌȠȣ µʌȠȡȠȪȞ ȞĮ ĮʌȠșȘțİȣșȠȪȞ ıĮȞ µİIJĮȕȜȘIJȑȢ, ȦȢ İȟȒȢ: String[ ] babyName; int[ ] babyAge; boolean[ ] babyWeight; ȅȚ ʌĮȡĮʌȐȞȦ İȞIJȠȜȑȢ įȘµȚȠȪȡȖȘıĮȞ IJȡİȚȢ ʌȓȞĮțİȢ ĮȜȜȐ įİȞ ȑȤİȚ ĮʌȠșȘțİȣșİȓ ĮțȩµĮ IJȓʌȠIJĮ µȑıĮ IJȠȣȢ. īȚĮ ȞĮ ȖȓȞİȚ ĮȣIJȩ, ʌȡȑʌİȚ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȘȞ İȞIJȠȜȒ (IJİȜİıIJȒ) new țĮȚ ȞĮ țĮșȠȡȓıȠȣµİ ʌȩıĮ ıIJȠȚȤİȓĮ șĮ ȑȤİȚ Ƞ ʌȓȞĮțĮȢ, ȦȢ İȟȒȢ: String[ ] babyName = new String[40]; ȂʌȠȡȠȪµİ ȞĮ İțȤȦȡȒıȠȣµİ țĮȚ IJȚµȑȢ µĮȗȓ µİ IJȘȞ įȒȜȦıȘ İȞȩȢ ʌȓȞĮțĮ, ȦȢ İȟȒȢ: int[ ] babyAge = {2, 5, 4, 3, 1}; ȅȚ IJȚµȑȢ ʌȠȣ șĮ țĮIJĮȤȦȡȘșȠȪȞ ıIJȠȞ ʌȓȞĮțĮ ȕȡȓıțȠȞIJĮȚ ĮȞȐµİıĮ ıIJȠȣȢ ȤĮȡĮțIJȒȡİȢ { țĮȚ } țĮȚ ȤȦȡȓȗȠȞIJĮȚ µİ țȩµµĮIJĮ. ǹțȩµȘ, ȩȜĮ IJĮ ıIJȠȚȤİȓĮ IJȠȣ ʌȓȞĮțĮ ʌȡȑʌİȚ ȞĮ İȓȞĮȚ IJȠȣ ȓįȚȠȣ IJȪʌȠȣ țĮȚ įİȞ țĮșȠȡȓȗȠȣµİ IJȠȞ ĮȡȚșµȩ IJȠȣȢ. ȉĮ ıIJȠȚȤİȓĮ İȞȩȢ ʌȓȞĮțĮ ĮȡȚșµȠȪȞIJĮȚ Įʌȩ IJȠ 0 ȑȦȢ IJȠ n-1, ȩʌȠȣ IJȠ n İȓȞĮȚ IJȠ ʌȜȒșȠȢ IJȦȞ ıIJȠȚȤİȓȦȞ IJȠȣ ʌȓȞĮțĮ. īȚĮ ȞĮ ȕȡȠȪµİ IJȠ ʌȜȒșȠȢ IJȦȞ ıIJȠȚȤİȓȦȞ İȞȩȢ ʌȓȞĮțĮ, µʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȘȞ ȚįȚȩIJȘIJĮ length, ȦȢ İȟȒȢ: int[ ] babyAge = {2, 5, 4, 3, 1}; System.out.println("ȊʌȐȡȤȠȣȞ " + babyAge.length + " µȦȡȐ"); String[ ] Names = {"Anna", "Georgia", "Maria", "Alexia"}; for (int count = 0; count < Names.length; count++) { System.out.println("ǵȞȠµĮ: " + Names[count]); } īȚĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ȑȞĮȞ ʌȓȞĮțĮ įȪȠ įȚĮıIJȐıİȦȞ, įȓȞȠȣµİ IJȘȞ İȟȒȢ İȞIJȠȜȒ: String[ ] babyDetail = new String[5][5];
ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -6-
12. ȉĮ ǹȞIJȚțİȓµİȞĮ (Objects) ȉȠ țȐșİ ʌȡȩȖȡĮµµĮ IJȘȢ Java ʌȠȣ įȘµȚȠȣȡȖȠȪµİ µʌȠȡİȓ ȞĮ șİȦȡȘșİȓ ıĮȞ ȑȞĮ ĮȞIJȚțİȓµİȞȠ (object), ȩʌȦȢ ȠIJȚįȒʌȠIJİ ȐȜȜȠ ıIJȠȞ ĮȜȘșȚȞȩ țȩıµȠ, ȩʌȦȢ įȘȜĮįȒ ȑȞĮ ĮȣIJȠțȓȞȘIJȠ, ȑȞĮ ʌȠįȒȜĮIJȠ, µȚĮ µȘȤĮȞȒ Ȓ țĮȚ ȠȚ ȓįȚȠȚ ȠȚ ȐȞșȡȦʌȠȚ. ȅȚ ȐȞșȡȦʌȠȚ ȑȤȠȣȞ ȑȞĮ țİijȐȜȚ, įȪȠ ȤȑȡȚĮ, įȪȠ ʌȩįȚĮ ț.Ȑ., İȞȫ IJȠ țȐșİ µȑȡȠȢ IJȠȣ ıȫµĮIJȠȢ µʌȠȡİȓ ȞĮ țȐȞİȚ ıȣȖțİțȡȚµȑȞİȢ İȡȖĮıȓİȢ țĮȚ ĮʌȠIJİȜİȓIJĮȚ Įʌȩ ʌȡȐȖµĮIJĮ ʌȠȣ IJȠ įȚĮijȠȡȠʌȠȚȠȪȞ Įʌȩ IJȠ ȣʌȩȜȠȚʌȠ ıȫµĮ. ǹȞ įȚĮıʌȐıȠȣµİ IJĮ ʌȡȠȖȡȐµµĮIJĮ IJȘȢ Java µİ IJȠȞ ȓįȚȠ IJȡȩʌȠ, IJȩIJİ µʌȠȡȠȪµİ ȞĮ µȚȜȒıȠȣµİ ȖȚĮ ȆȡȠıĮȞĮIJȠȜȚıµȑȞȠ ıİ ǹȞIJȚțİȓµİȞĮ ȆȡȠȖȡĮµµĮIJȚıµȩ (Object Oriented Programming Ȓ OOP). DzȞĮ ĮȞIJȚțİȓµİȞȠ (object) ʌİȡȚȑȤİȚ įȪȠ ʌȡȐȖµĮIJĮ: ȚįȚȩIJȘIJİȢ (attributes) țĮȚ ıȣµʌİȡȚijȠȡȐ (behavior) Ȓ µİșȩįȠȣȢ (methods). ȅȚ ȚįȚȩIJȘIJİȢ ʌİȡȚȖȡȐijȠȣȞ IJȠ ĮȞIJȚțİȓµİȞȠ İȞȫ ȠȚ µȑșȠįȠȚ ʌİȡȚȖȡȐijȠȣȞ IJȠ IJȚ µʌȠȡİȓ ȞĮ țȐȞİȚ IJȠ ĮȞIJȚțİȓµİȞȠ. ȈIJȘȞ Java įȘµȚȠȣȡȖȠȪµİ ȑȞĮ ĮȞIJȚțİȓµİȞȠ ȤȡȘıȚµȠʌȠȚȫȞIJĮȢ µȚĮ țȜȐıȘ (class) ıĮȞ ȑȞĮ ʌȡȩIJȣʌȠ (template). Ǿ țȜȐıȘ İȓȞĮȚ ȑȞĮ ȕĮıȚțȩ ĮȞIJȓȖȡĮijȠ (master copy) IJȠȣ ĮȞIJȚțİȚµȑȞȠȣ ʌȠȣ țĮșȠȡȓȗİȚ ʌȠȚİȢ ȚįȚȩIJȘIJİȢ țĮȚ ıȣµʌİȡȚijȠȡȐ ʌȡȑʌİȚ ȞĮ ȑȤİȚ ȑȞĮ ĮȞIJȚțİȓµİȞȠ. ȉȠ țȐșİ ʌȡȩȖȡĮµµĮ ıİ Java ʌȠȣ įȘµȚȠȣȡȖȠȪµİ șĮ ĮʌȠIJİȜİȓ µȚĮ țȜȐıȘ (class) İʌİȚįȒ IJȠ țĮșȑȞĮ ȑȤİȚ ȤȡȘıȚµȠʌȠȚȒıİȚ ȑȞĮ ʌȡȩIJȣʌȠ (template) ȖȚĮ IJȘȞ įȘµȚȠȣȡȖȓĮ ȞȑȦȞ ĮȞIJȚțİȚµȑȞȦȞ. ǵʌȦȢ İȓįĮµİ ȒįȘ, IJĮ ĮȞIJȚțİȓµİȞĮ įȘµȚȠȣȡȖȠȪȞIJĮȚ ȤȡȘıȚµȠʌȠȚȫȞIJĮȢ µȚĮ țȜȐıȘ ĮȞIJȚțİȚµȑȞȦȞ ıĮȞ ȠįȘȖȩ Ȓ ʌȡȩIJȣʌȠ, ȦȢ İȟȒȢ: public class dog { String name; public void speak() { System.out.println("ȖĮȕ ȖĮȕ"); } } ȉȠ ʌȡȫIJȠ IJµȒµĮ IJȘȢ țȜȐıȘȢ dog įȘµȚȠȣȡȖİȓ µȚĮ µİIJĮȕȜȘIJȒ string µİ ȩȞȠµĮ name, ʌȠȣ ĮʌȠIJİȜİȓ µȚĮ ȚįȚȩIJȘIJĮ Ȓ ȤĮȡĮțIJȘȡȚıIJȚțȩ (attribute) IJȠȣ ĮȞIJȚțİȚµȑȞȠȣ țĮȚ İȓȞĮȚ ĮȣIJȩ ʌȠȣ ȟİȤȦȡȓȗİȚ IJȠ ȑȞĮ ĮȞIJȚțİȓµİȞȠ dog Įʌȩ IJȠ ȐȜȜȠ. ȉȠ įİȪIJİȡȠ IJµȒµĮ IJȘȢ țȜȐıȘȢ dog İȓȞĮȚ µȚĮ µȑșȠįȠȢ (method) Ȓ ıȣµʌİȡȚijȠȡȐ (behavior) Ȓ ıȣȞȐȡIJȘıȘ (function) µİ ȩȞȠµĮ speak() țĮȚ Ș ȠʌȠȓĮ ʌİȡȚȑȤİȚ µȓĮ µȩȞȠ İȞIJȠȜȒ ȖȚĮ IJȘȞ ݵijȐȞȚıȘ İȞȩȢ µȘȞȪµĮIJȠȢ. ǹȞ șȑȜȠȣµİ IJȫȡĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ȑȞĮ ĮȞIJȚțİȓµİȞȠ dog ı' ȑȞĮ ʌȡȩȖȡĮµµĮ, µʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȘȞ İȟȒȢ İȞIJȠȜȒ: dog myDog = new dog(); ȂʌȠȡȠȪµİ ȞĮ įȫıȠȣµİ IJȚµȒ ıIJȘȞ µİIJĮȕȜȘIJȒ name IJȠȣ ĮȞIJȚțİȚµȑȞȠȣ myDog: myDog.name = "Azor"; ȂʌȠȡȠȪµİ ȞĮ țĮȜȑıȠȣµİ IJȘȞ µȑșȠįȠ speak() IJȠȣ ĮȞIJȚțİȚµȑȞȠȣ myDog: myDog.speak(); ȠʌȩIJİ șĮ ݵijĮȞȚıșİȓ IJȠ µȒȞȣµĮ "ȖĮȕ ȖĮȕ" ıIJȘȞ ȠșȩȞȘ. 13. Ǿ ȀȜȘȡȠȞȠµȚțȩIJȘIJĮ (Inheritance) ȂȚĮ țȜȐıȘ ʌȠȣ țȜȘȡȠȞȠµİȓ ȤĮȡĮțIJȘȡȚıIJȚțȐ Įʌȩ µȚĮ ȐȜȜȘ țȜȐıȘ țĮȜİȓIJĮȚ įİȣIJİȡİȪȠȣıĮ țȜȐıȘ (subclass) țĮȚ Ș țȜȐıȘ Įʌȩ IJȘȞ ȠʌȠȓĮ țȜȘȡȠȞȠµİȓ țĮȜİȓIJĮȚ ȣʌİȡțȜȐıȘ (superclass). īȚĮ ʌĮȡȐįİȚȖµĮ, șĮ įȘµȚȠȣȡȖȒıȠȣµİ µȚĮ țȜȐıȘ µİ ȩȞȠµĮ mammal (șȘȜĮıIJȚțȩ), Ș ȠʌȠȓĮ șĮ ȑȤİȚ IJȘȞ ȚįȚȩIJȘIJĮ (attribute) name țĮȚ IJȘȞ µȑșȠįȠ (method) sleep(). ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -7-
ȂİIJȐ, ȤȡȘıȚµȠʌȠȚȫȞIJĮȢ IJȘȞ ȜȑȟȘ țȜİȚįȓ extends, șĮ įȘµȚȠȣȡȖȒıȠȣµİ µȚĮ ȞȑĮ țȜȐıȘ µİ ȩȞȠµĮ cat, Ș ȠʌȠȓĮ șĮ țȜȘȡȠȞȠµİȓ ȩȜĮ IJĮ ȤĮȡĮțIJȘȡȚıIJȚțȐ IJȘȢ țȜȐıȘȢ mammal ĮȜȜȐ șĮ ȑȤİȚ țĮȚ µȚĮ İʌȚʌȜȑȠȞ įȚțȒ IJȘȢ µȑșȠįȠ µİ ȩȞȠµĮ speak(). public class mammal { String name; public void sleep() { System.out.println("snore ... snore ..."); } } public class cat extends mammal { public void speak() { System.out.println("ȞȚȐȠȣ ȞȚȐȠȣ"); } } DzȤȠȣµİ IJȫȡĮ µȚĮ įİȣIJİȡİȪȠȣıĮ țȜȐıȘ µİ ȩȞȠµĮ cat IJȘȢ ȣʌİȡțȜȐıȘȢ mammal, ȩʌȠȣ Ș țȜȐıȘ cat ȑȤİȚ IJȘȞ ȚįȚȩIJȘIJĮ name țĮȚ IJȘȞ µȑșȠįȠ sleep() ʌȠȣ ȑȤİȚ țȜȘȡȠȞȠµȒıİȚ Įʌȩ IJȘȞ ȣʌİȡțȜȐıȘ mammal țĮșȫȢ țĮȚ IJȘȞ įȚțȒ IJȘȢ µȑșȠįȠ speak(). ǹțȠȜȠȣșİȓ ȑȞĮ ʌĮȡȐįİȚȖµĮ ʌȠȣ įȘµȚȠȣȡȖİȓ ĮȞIJȚțİȓµİȞĮ Įʌȩ IJȘȞ ʌĮȡĮʌȐȞȦ țȜȐıȘ cat țĮȚ ȤȡȘıȚµȠʌȠȚİȓ IJĮ ȤĮȡĮțIJȘȡȚıIJȚțȐ IJȘȢ. class newcat { public static void main(String args[ ]) { cat catty = new cat(); catty.name = "Azor"; System.out.println("ȅ Azor ȞȚĮȠȣȡȓȗİȚ"); catty.speak(); System.out.println("ȅ Azor țȠȚµȐIJĮȚ"); catty.sleep(); } } Ǿ ıȣµʌİȡȚijȠȡȐ țĮȚ ȠȚ ȚįȚȩIJȘIJİȢ µȚĮȢ țȜȐıȘȢ ĮʌȠIJİȜȠȪȞ IJȠȞ ıȣȞįȣĮıµȩ IJȘȢ įȚțȒȢ IJȘȢ ıȣµʌİȡȚijȠȡȐȢ țĮȚ ȚįȚȠIJȒIJȦȞ țĮșȫȢ țĮȚ IJȘȢ ıȣµʌİȡȚijȠȡȐȢ țĮȚ IJȦȞ ȚįȚȠIJȒIJȦȞ ʌȠȣ ȑȤİȚ țȜȘȡȠȞȠµȒıİȚ Įʌ' ȩȜİȢ IJȚȢ ȣʌİȡțȜȐıİȚȢ IJȘȢ. ǻȪȠ µȑșȠįȠȚ µʌȠȡȠȪȞ ȞĮ ȑȤȠȣȞ IJȠ ȓįȚȠ ȩȞȠµĮ ĮȞ ȑȤȠȣȞ įȚĮijȠȡİIJȚțȩ ĮȡȚșµȩ ȠȡȚıµȐIJȦȞ Ȓ ȠȡȓıµĮIJĮ įȚĮijȠȡİIJȚțȠȪ IJȪʌȠȣ. ȂȑıĮ ıİ µȚĮ įİȣIJİȡİȪȠȣıĮ țȜȐıȘ µʌȠȡȠȪµİ ȞĮ ȟĮȞĮȠȡȓıȠȣµİ țĮȚ ȞĮ ĮȞIJȚțĮIJĮıIJȒıȠȣµİ ȑIJıȚ µȚĮ µȑșȠįȠ ʌȠȣ ȑȤİȚ ȒįȘ ȠȡȚıIJİȓ ıİ µȚĮ ȣʌİȡțȜȐıȘ. ǹȣIJȩ ĮʌȠțĮȜİȓIJĮȚ ȣʌİȡțȐȜȣȥȘ (overriding) IJȘȢ µİșȩįȠȣ. 14. ȅȚ ȂȚțȡȠİijĮȡµȠȖȑȢ (Applets) ǵȜĮ IJĮ applets ĮʌȠIJİȜȠȪȞ įİȣIJİȡİȪȠȣıİȢ țȜȐıİȚȢ (subclasses) IJȘȢ țȜȐıȘȢ Applet, Ș ȠʌȠȓĮ İȓȞĮȚ µȑȡȠȢ IJȠȣ ʌĮțȑIJȠȣ java.applet. ǻİȞ ȣʌȐȡȤİȚ țĮµȓĮ țȪȡȚĮ µȑșȠįȠȢ main() ı' ȑȞĮ applet IJȘȢ Java, ȩʌȦȢ ıȣµȕĮȓȞİȚ µİ IJȚȢ İijĮȡµȠȖȑȢ, țĮȚ ȑIJıȚ įİȞ ȣʌȐȡȤİȚ ȑȞĮ țĮșȠȡȚıµȑȞȠ ıȘµİȓȠ İțțȓȞȘıȘȢ ȖȚĮ IJȠ ʌȡȩȖȡĮµµĮ. ǹȞIJȓșİIJĮ, ȑȞĮ applet ʌİȡȚȑȤİȚ µȚĮ ȠµȐįĮ Įʌȩ ıȣȖțİțȡȚµȑȞİȢ µİșȩįȠȣȢ ʌȠȣ İȓȞĮȚ ȑIJȠȚµİȢ ȞĮ ĮȞIJȚµİIJȦʌȓıȠȣȞ ıȣȖțİțȡȚµȑȞĮ ıȣµȕȐȞIJĮ țĮșȫȢ İțIJİȜİȓIJĮȚ IJȠ applet. ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -8-
Ȉ' ĮȞIJȓșİıȘ µİ IJȚȢ İijĮȡµȠȖȑȢ, ȠȚ țȜȐıİȚȢ IJȦȞ applets ʌȡȑʌİȚ ȞĮ İȓȞĮȚ public ȖȚĮ ȞĮ µʌȠȡȠȪȞ ȞĮ įȠȣȜȑȥȠȣȞ țĮȚ įȘȜȫȞȠȞIJĮȚ ȦȢ İȟȒȢ: import java.applet.Applet; public class lesson01 extends Applet { ... } Ǿ ʌĮȡĮʌȐȞȦ țȜȐıȘ țȜȘȡȠȞȠµİȓ (extends) ȩȜİȢ IJȚȢ µİșȩįȠȣȢ ʌȠȣ ݵijĮȞȓȗȠȞIJĮȚ ĮȣIJȩµĮIJĮ ȩIJĮȞ ȤȡİȚĮıșİȓ țĮȚ ʌȠȣ İȓȞĮȚ ȠȚ init(), paint(), start(), stop() țĮȚ destroy(). ǹȞ șȑȜȠȣµİ ȞĮ ıȣµȕİȓ țȐIJȚ ı' ȑȞĮ applet, șĮ ʌȡȑʌİȚ ȞĮ ȣʌİȡțĮȜȪȥȠȣµİ (override) ĮȣIJȑȢ IJȚȢ µİșȩįȠȣȢ țĮȚ ȠȚ µȑșȠįȠȚ ʌȠȣ ȣʌİȡțĮȜȪʌIJȠȣµİ ıȣȤȞȩIJİȡĮ İȓȞĮȚ ȠȚ paint() țĮȚ init(). Ǿ µȑșȠįȠȢ paint() ĮʌȠIJİȜİȓ µȑȡȠȢ țȐșİ applet ʌȠȣ șĮ įȘµȚȠȣȡȖȠȪµİ țĮȚ ȤȦȡȓȢ ĮȣIJȒȞ įİȞ µʌȠȡȠȪµİ ȞĮ ݵijĮȞȓıȠȣµİ IJȓʌȠIJĮ ıIJȘȞ ȠșȩȞȘ. ȋȡȘıȚµȠʌȠȚİȓ ȑȞĮ ȩȡȚıµĮ IJȘȢ țȜȐıȘȢ Graphics țĮȚ Ș ıȪȞIJĮȟȒ IJȘȢ İȓȞĮȚ ȦȢ İȟȒȢ: public class paint(Graphics g) { ... } ĬĮ ʌȡȑʌİȚ ȞĮ ȑȤȠȣµİ ʌȡȠıșȑıİȚ ȞȦȡȓIJİȡĮ IJȘȞ İȞIJȠȜȒ import java.awt.Graphics ıIJȘȞ ĮȡȤȒ IJȠȣ țȫįȚțĮ țĮȚ ʌȡȚȞ Įʌȩ IJȠȞ ȠȡȚıµȩ IJȘȢ țȜȐıȘȢ. Ǿ µȑșȠįȠȢ init() țĮȜİȓIJĮȚ µȩȞȠ µȓĮ ijȠȡȐ ȩIJĮȞ İțIJİȜİȓIJĮȚ IJȠ applet țĮȚ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ ȞĮ ȠȡȓıİȚ µİIJĮȕȜȘIJȑȢ ʌȠȣ ȤȡİȚȐȗȠȞIJĮȚ ıIJȠ applet, ȩʌȦȢ ȖȚĮ ʌĮȡȐįİȚȖµĮ ȖȡĮµµĮIJȠıİȚȡȑȢ (fonts), ȤȡȫµĮIJĮ (colors) ț.Ȑ. Ǿ µȑșȠįȠȢ start() țĮȜİȓIJĮȚ ȩIJĮȞ IJȠ applet ĮȡȤȓȗİȚ ȞĮ İțIJİȜİȓIJĮȚ țĮȚ ȖȚĮ ȞĮ țȜȘșİȓ ȖȚĮ įİȪIJİȡȘ ijȠȡȐ, ʌȡȑʌİȚ ȞĮ ıIJĮµĮIJȒıİȚ Ș İțIJȑȜİıȘ IJȠȣ applet. Ǿ µȑșȠįȠȢ stop() țĮȜİȓIJĮȚ ȩIJĮȞ ıIJĮµĮIJȐİȚ Ș İțIJȑȜİıȘ IJȠȣ applet, įȘȜ. ȩIJĮȞ ijİȪȖȠȣµİ Įʌȩ IJȘȞ ȚıIJȠıİȜȓįĮ. Ǿ µȑșȠįȠȢ destroy() țĮȜİȓIJĮȚ ĮµȑıȦȢ ʌȡȚȞ IJİȡµĮIJȚıșİȓ IJȠ applet. īȚĮ ȞĮ IJȠʌȠșİIJȒıȠȣµİ ȑȞĮ applet ıİ µȚĮ ȚıIJȠıİȜȓįĮ, șĮ ʌȡȑʌİȚ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȚȢ İIJȚțȑIJİȢ <applet> țĮȚ </applet>, ȦȢ İȟȒȢ: <applet code="lesson01.class" codebase="java" height=100 width=250> </applet> Ǿ ȚįȚȩIJȘIJĮ code ĮȞĮijȑȡİȚ IJȠ ȩȞȠµĮ IJȠȣ applet ʌȠȣ șĮ İțIJİȜİıșİȓ, Ș codebase IJȠȞ ijȐțİȜȠ ȩʌȠȣ ȣʌȐȡȤİȚ Ƞ țȫįȚțĮȢ IJȠȣ applet ĮȞ įİȞ İȓȞĮȚ Ƞ IJȡȑȤȠȞ ijȐțİȜȠȢ țĮȚ ȠȚ height țĮȚ width IJȠ ȪȥȠȢ țĮȚ IJȠ ʌȜȐIJȠȢ ĮȞIJȓıIJȠȚȤĮ IJȠȣ ȠȡșȠȖȦȞȓȠȣ ʌȠȣ șĮ ݵijĮȞȓıİȚ IJȠ applet ıIJȘȞ ȠșȩȞȘ. ǹȞȐµİıĮ ıIJȚȢ İIJȚțȑIJİȢ <applet> țĮȚ </applet> µʌȠȡȠȪµİ ȞĮ ȖȡȐȥȠȣµİ ȑȞĮ țİȓµİȞȠ ȖȚĮ ȞĮ ݵijĮȞȚıșİȓ ıİ ijȣȜȜȠµİIJȡȘIJȑȢ ʌȠȣ įİȞ ȣʌȠıIJȘȡȓȗȠȣȞ Java. ǹțȠȜȠȣșİȓ ȑȞĮ ĮʌȜȩ ʌĮȡȐįİȚȖµĮ applet. import java.applet.Applet; import java.awt.Graphics; public class message extends Applet { int Value; public void init() { Value = 0; ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java -9-
} public void paint(Graphics g) { g.drawString("Ǿ ĮȟȓĮ IJȠȣ ĮȣIJȠțȚȞȒIJȠȣ İȓȞĮȚ: " + Value, 10, 30); } } Ǿ µȑșȠįȠȢ drawString() ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ ȞĮ ݵijĮȞȓıȠȣµİ µȘȞȪµĮIJĮ ı' ȑȞĮ applet IJȘȢ Java ĮȞIJȓ ȖȚĮ IJȘȞ System.out.println(). ȂȑıĮ ı' ȑȞĮ applet µʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȘȞ µȑșȠįȠ repaint() ȖȚĮ ȞĮ țĮȜȑıȠȣµİ ȟĮȞȐ IJȘȞ µȑșȠįȠ paint() ıIJȘȞ ʌİȡȓʌIJȦıȘ ʌȠȣ ȑȤİȚ ȖȓȞİȚ țȐʌȠȚĮ ĮȜȜĮȖȒ ıIJȘȞ IJȚµȒ țȐʌȠȚĮȢ µİIJĮȕȜȘIJȒȢ. īȚĮ ʌĮȡȐįİȚȖµĮ, µʌȠȡȠȪµİ ȞĮ ȟĮȞĮȖȡȐȥȠȣµİ IJȘȞ ʌĮȡĮʌȐȞȦ µȚțȡȠİijĮȡµȠȖȒ ĮȜȜȐȗȠȞIJĮȢ µȩȞȠ IJȘȞ µȑșȠįȠ paint(), ȦȢ İȟȒȢ: public void paint(Graphics g) { g.drawString("Ǿ ĮȟȓĮ IJȠȣ ĮȣIJȠțȚȞȒIJȠȣ İȓȞĮȚ: " + Value, 10, 30); Value++; repaint(); } Ǿ IJȚµȒ IJȠȣ Value șĮ ĮȜȜȐȗİȚ ıȣȞȑȤİȚĮ țĮȚ șĮ țĮȜȠȪµİ IJȘȞ µȑșȠįȠ repaint(), ʌȠȣ ıIJȘȞ ȠȣıȓĮ İȓȞĮȚ Ș ȓįȚĮ Ș µȑșȠįȠȢ paint(), ȖȚĮ ȞĮ ݵijĮȞȚıșİȓ Ș ȞȑĮ IJȚµȒ IJȘȢ Value. 15. Ǿ ȆȠȜȣİʌİȟİȡȖĮıȓĮ (Multitasking) ȅ ȩȡȠȢ ʌȠȜȣİʌİȟİȡȖĮıȓĮ (multitasking) ĮȞĮijȑȡİIJĮȚ ıIJȘȞ ȚțĮȞȩIJȘIJĮ İȞȩȢ ȣʌȠȜȠȖȚıIJȒ ȞĮ µʌȠȡİȓ ȞĮ İțIJİȜİȓ įȪȠ Ȓ ʌİȡȚııȩIJİȡİȢ İȡȖĮıȓİȢ (tasks) IJĮȣIJȩȤȡȠȞĮ. DzȞĮ Įʌȩ IJĮ ȤĮȡĮțIJȘȡȚıIJȚțȐ IJȘȢ Java İȓȞĮȚ Ș ȚțĮȞȩIJȘIJȐ IJȘȢ ȞĮ ȖȡȐijİȚ ʌȡȠȖȡȐµµĮIJĮ ʌȠȣ ȞĮ µʌȠȡȠȪȞ ȞĮ țȐȞȠȣȞ ʌȠȜȣİʌİȟİȡȖĮıȓĮ. Ǿ țĮșݵȓĮ Įʌ' ĮȣIJȑȢ IJȚȢ IJĮȣIJȩȤȡȠȞİȢ İȡȖĮıȓİȢ țĮȜİȓIJĮȚ ȞȒµĮ (thread) țĮȚ Ș ȩȜȘ įȚĮįȚțĮıȓĮ țĮȜİȓIJĮȚ ʌȠȜȣȞȘµȐIJȦıȘ (multithreading). 16. ȆȑȡĮıµĮ ȆĮȡĮµȑIJȡȦȞ ıİ Applets ȂʌȠȡȠȪµİ ȞĮ įȚĮȕȚȕȐıȠȣµİ ʌĮȡĮµȑIJȡȠȣȢ ı' ȑȞĮ applet ȤȡȘıȚµȠʌȠȚȫȞIJĮȢ IJȘȞ İIJȚțȑIJĮ <param> țĮȚ IJȚȢ ȚįȚȩIJȘIJȑȢ IJȘȢ (attributes) name țĮȚ value. ȂʌȠȡȠȪµİ ȞĮ ȑȤȠȣµİ ʌİȡȚııȩIJİȡİȢ Įʌȩ µȓĮ İIJȚțȑIJİȢ <param> ı' ȑȞĮ applet, ȠȚ ȠʌȠȓİȢ ʌȡȑʌİȚ ȞĮ ȕȡȓıțȠȞIJĮȚ ĮȞȐµİıĮ ıIJȚȢ İIJȚțȑIJİȢ <applet> țĮȚ </applet>. Ǿ ȚįȚȩIJȘIJĮ name ȤȡȘıȚµȠʌȠȚİȓIJĮȚ ȖȚĮ ȞĮ ȟİȤȦȡȓıİȚ Ș ʌĮȡȐµİIJȡȠȢ İȞȫ Ș ȚįȚȩIJȘIJĮ value įȓȞİȚ µȚĮ IJȚµȒ ıIJȘȞ ʌĮȡȐµİIJȡȠ. Ȃİ IJȘȞ µȑșȠįȠ getParameter() IJȘȢ țȜȐıȘȢ Applet µʌȠȡȠȪµİ ȞĮ įȚĮȕȐıȠȣµİ IJȘȞ IJȚµȒ µȚĮȢ ʌĮȡĮµȑIJȡȠȣ µȚĮȢ İIJȚțȑIJĮȢ <param>. ȈĮȞ ȩȡȚıµĮ ıIJȘȞ µȑșȠįȠ įȓȞȠȣµİ IJȠ ȩȞȠµĮ IJȘȢ ʌĮȡĮµȑIJȡȠȣ ȩʌȦȢ ȠȡȓȗİIJĮȚ ıIJȘȞ ȚįȚȩIJȘIJĮ name. īȚĮ ʌĮȡȐįİȚȖµĮ, ĮȞ ȑȤȠȣµİ IJĮ İȟȒȢ ıİ µȓĮ İIJȚțȑIJĮ <applet>: <applet> ... <param name ="text" value="Home"> ... </applet> ȉȩIJİ µİ IJȘȞ ʌĮȡĮțȐIJȦ İȞIJȠȜȒ µȑıĮ Įʌȩ IJȠȞ țȫįȚțĮ IJȠȣ applet IJȘȢ Java: String buttonText = getParameter("text") șĮ țĮIJĮȤȦȡȘșİȓ Ș IJȚµȒ "Home" ıIJȠ string buttonText. ǼʌİȚįȒ Ș µȑșȠįȠȢ getParameter() İʌȚıIJȡȑijİȚ ȩȜİȢ IJȚȢ ʌĮȡĮµȑIJȡȠȣȢ ıĮȞ strings, șĮ ʌȡȑʌİȚ ȞĮ țȐȞȠȣµİ µİIJĮIJȡȠʌȑȢ IJȪʌȠȣ, ȦȢ İȟȒȢ: ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 10 -
<param name="age" value="36"> ... int age; String ageParam = getParameter("age"); age = Integer.parseInt(ageParam); ǹȞ µȚĮ ʌĮȡȐµİIJȡȠȢ įİȞ ȣʌȐȡȤİȚ, IJȩIJİ Ș µȑșȠįȠȢ getParameter() İʌȚıIJȡȑijİȚ µȚĮ IJȚµȒ null. String pname; String nameParam = getParameter("username"); if (nameParam != null) pname = nameParam; ... g.drawString("ǵȞȠµĮ ȤȡȒıIJȘ: " + pname, 10, 30); 17. Ǿ ȀȜȐıȘ Font (īȡĮµµĮIJȠıİȚȡȑȢ) īȚĮ ȞĮ µʌȠȡȑıȠȣµİ ȞĮ ݵijĮȞȓıȠȣµİ µȚĮ ȖȡĮµµĮIJȠıİȚȡȐ ıIJȘȞ Java, ʌȡȑʌİȚ ȞĮ ȖȞȦȡȓȗȠȣµİ IJĮ İȟȒȢ ıIJȠȚȤİȓĮ ȖȚ' ĮȣIJȒȞ: x x x
ȉȪʌȠȢ (Arial, Courier țȜʌ) ȈIJȣȜ (bold, italic, plain) ȂȑȖİșȠȢ ıİ points
īȚĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ȑȞĮ įȚțȩ µĮȢ ĮȞIJȚțİȓµİȞȠ ȖȡĮµµĮIJȠıİȚȡȐȢ, ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ țȜȐıȘ Font µİ IJȠȞ IJİȜİıIJȒ new țĮȚ ʌİȡȞȐµİ IJȡȓĮ ȠȡȓıµĮIJĮ, ȩʌȦȢ įȘȜȫșȘțĮȞ ʌĮȡĮʌȐȞȦ. ȂʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȚȢ ıIJĮșİȡȑȢ Font.PLAIN, Font.BOLD, Font.ITALIC țĮȚ Font.BOLD+Font.ITALIC. Ȃİ IJȘȞ µȑșȠįȠ setFont() ȠȡȓȗȠȣµİ µȚĮ ȖȡĮµµĮIJȠıİȚȡȐ İȞȫ µİ IJȘȞ µȑșȠįȠ getFont() µʌȠȡȠȪµİ ȞĮ įȠȪµİ ʌȠȚĮ ȖȡĮµµĮIJȠıİȚȡȐ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ İțİȓȞȘ IJȘ ıIJȚȖµȒ. ȉĮ ıIJȠȚȤİȓĮ IJȘȢ IJȡȑȤȠȣıĮȢ ȖȡĮµµĮIJȠıİȚȡȐȢ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ IJȘȞ ݵijȐȞȚıȘ IJȠȣ țİȚµȑȞȠȣ ıIJȘȞ ȠșȩȞȘ. ǹțȠȜȠȣșİȓ ȑȞĮ ʌĮȡȐįİȚȖµĮ. import java.applet.Applet; import java.awt.*; public class Fonts extends Applet { public void paint(Graphics g) { Font currentFont = new Font("TimesRoman", Font.PLAIN, 20); g.setFont(currentFont); g.drawString("īȡĮµµĮIJȠıİȚȡȐ Plain Times Roman 20 point", 10, 30); Font combFont = new Font("TimesRoman", Font.BOLD+Font.ITALIC, 40); g.setFont(combFont); g.drawString("īȡĮµµĮIJȠıİȚȡȐ Bold+Italic Times Roman 40 point", 10, 50); } } 18. Ǿ ȀȜȐıȘ Color (ȋȡȫµĮIJĮ) ȂʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ įȪȠ IJȡȩʌȠȣȢ ȖȚĮ ȞĮ ȠȡȓıȠȣµİ IJȠ ȤȡȫµĮ ʌȠȣ șȑȜȠȣµİ ȞĮ ݵijĮȞȓıȠȣµİ ı' ȑȞĮ applet. ȅ ʌȡȫIJȠȢ ȤȡȘıȚµȠʌȠȚİȓ µȚĮ ıIJĮșİȡȒ µİIJĮȕȜȘIJȒ IJȘȢ țȜȐıȘȢ Color țĮȚ Ƞ įİȪIJİȡȠȢ ȠȡȓȗİȚ ȞȑĮ ȤȡȫµĮIJĮ µİ ȕȐıȘ IJȚȢ RGB (red, green, blue) IJȚµȑȢ IJȠȣȢ Įʌȩ 0-255. ȂʌȠȡȠȪµİ ȞĮ ȠȡȓıȠȣµİ IJȠ ȤȡȫµĮ IJȠȣ ijȩȞIJȠȣ IJȘȢ İijĮȡµȠȖȒȢ µİ IJȘȞ µȑșȠįȠ setBackground() țĮȚ IJȠ ȤȡȫµĮ IJȠȣ țİȚµȑȞȠȣ IJȘȢ İijĮȡµȠȖȒȢ µİ IJȘȞ µȑșȠįȠ setColor(). ǹțȠȜȠȣșİȓ ȑȞĮ ʌĮȡȐįİȚȖµĮ. import java.applet.Applet; import java.awt.*; ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 11 -
public class Colors extends Applet { public void paint(Graphics g) { setBackground(Color.green); g.drawString("ȋȡȫµĮ ijȩȞIJȠȣ µĮȪȡȠ", 10, 30); g.setColor(Color.blue); g.drawString(ȋȡȫµĮ țİȚµȑȞȠȣ țȩțțȚȞȠ", 10, 50); Color mystery = new Color(100, 200, 50); setBackground(mystery); g.drawString("ȋȡȫµĮ ijȩȞIJȠȣ IJȣȤĮȓȠ", 10, 70); } } 19. ȋȡȒıȘ īȡĮijȚțȫȞ ȈIJȘȞ Java µʌȠȡȠȪµİ ȞĮ ıȤİįȚȐıȠȣµİ IJĮ İȟȒȢ ȖȡĮijȚțȐ: x x x x x x
īȡĮµµȑȢ ȅȡșȠȖȫȞȚĮ țĮȚ ȉİIJȡȐȖȦȞĮ ȀȪțȜȠȣȢ țĮȚ ǼȜȜİȓȥİȚȢ ȉȩȟĮ ȆȠȜȪȖȦȞĮ ǵȜĮ IJĮ ʌĮȡĮʌȐȞȦ ȞĮ İȓȞĮȚ ȖݵȚıµȑȞĮ µİ ȤȡȫµĮ Ȓ ȐįİȚĮ
īȚĮ ȞĮ ıȤİįȚȐıȠȣµİ ȑȞĮ ȖȡĮijȚțȩ ıIJȘȞ Java ȤȡȘıȚµȠʌȠȚȠȪµİ µȚĮ µȑșȠįȠ IJȘȢ țȜȐıȘȢ Graphics. īȚĮ ȞĮ ıȤİįȚȐıȠȣµİ µȚĮ ȖȡĮµµȒ ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ drawLine() ȦȢ İȟȒȢ: g.setColor(Color.red); g.drawLine(100, 150, 170, 200); Ǿ ʌĮȡĮʌȐȞȦ İȞIJȠȜȒ ıȤİįȚȐȗİȚ µȚĮ ȖȡĮµµȒ µİ ʌȜȐIJȠȢ 1 pixel țĮȚ ȤȡȫµĮ țȩțțȚȞȠ Įʌȩ IJȘȞ șȑıȘ (100, 150) IJȘȢ ȠșȩȞȘȢ µȑȤȡȚ IJȘȞ șȑıȘ (170, 200). īȚĮ ȞĮ ıȤİįȚȐıȠȣµİ ȑȞĮ ȠȡșȠȖȫȞȚȠ Ȓ IJİIJȡȐȖȦȞȠ ȑȤȠȣµİ ʌȠȜȜȑȢ İʌȚȜȠȖȑȢ: Ǿ µȑșȠįȠȢ drawRect() ȖȚĮ ĮʌȜȩ ȠȡșȠȖȫȞȚȠ, µȘ ȖݵȚıµȑȞȠ țĮȚ ȤȦȡȓȢ ıIJȡȠȖȖȣȜݵȑȞİȢ ȖȦȞȓİȢ: g.drawRect(100, 150, 200, 250) Ǿ ʌĮȡĮʌȐȞȦ İȞIJȠȜȒ ıȤİįȚȐȗİȚ ȑȞĮ ȠȡșȠȖȫȞȚȠ µİ ʌȐȞȦ ĮȡȚıIJİȡȐ țȠȡȣijȒ ıIJȠ ıȘµİȓȠ 100, 150, ʌȜȐIJȠȢ 200 țĮȚ ȪȥȠȢ 250. Ǿ µȑșȠįȠȢ fillRect() ȖȚĮ ȖݵȚıµȑȞȠ ȠȡșȠȖȫȞȚȠ: g.setColor(Color.blue); g.fillRect(100, 150, 200, 250) Ǿ ʌĮȡĮʌȐȞȦ İȞIJȠȜȒ ıȤİįȚȐȗİȚ ȑȞĮ ȠȡșȠȖȫȞȚȠ ȖݵȚıµȑȞȠ µİ µʌȜİ ȤȡȫµĮ, µİ ʌȐȞȦ ĮȡȚıIJİȡȐ țȠȡȣijȒ ıIJȠ ıȘµİȓȠ 100, 150, ʌȜȐIJȠȢ 200 țĮȚ ȪȥȠȢ 250. Ǿ µȑșȠįȠȢ drawRoundRect() ȖȚĮ ȠȡșȠȖȫȞȚȠ µİ ıIJȡȠȖȖȣȜݵȑȞİȢ ȖȦȞȓİȢ: g.setColor(Color.green); g.drawRoundRect(100, 150, 200, 250, 15, 15) Ǿ µȑșȠįȠȢ fillRoundRect() ȖȚĮ ȖݵȚıµȑȞȠ ȠȡșȠȖȫȞȚȠ µİ ıIJȡȠȖȖȣȜݵȑȞİȢ ȖȦȞȓİȢ: g.setColor(Color.yellow); g.fillRoundRect(100, 150, 200, 250, 15, 15) ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 12 -
ȅȚ µȑșȠįȠȚ drawRoundRect() țĮȚ fillRoundRect() ȑȤȠȣȞ įȪȠ İʌȚʌȜȑȠȞ ʌĮȡĮµȑIJȡȠȣȢ ʌȠȣ İȓȞĮȚ Ș ĮʌȩıIJĮıȘ Įʌȩ IJȘȞ ȖȦȞȓĮ ʌȠȣ șȑȜȠȣµİ ȞĮ ȟİțȚȞȐİȚ Ș țĮµʌȪȜȘ. īȚĮ ȞĮ ıȤİįȚȐıȠȣµİ µȚĮ ȑȜȜİȚȥȘ Ȓ ȑȞĮȞ țȪțȜȠ ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ drawOval() ȦȢ İȟȒȢ: g.setColor(Color.red); g.drawOval(100, 150, 20, 30); Ǿ ʌĮȡĮʌȐȞȦ İȞIJȠȜȒ ıȤİįȚȐȗİȚ µȚĮ ȑȜȜİȚȥȘ µİ țȩțțȚȞȠ ȤȡȫµĮ, µİ ʌȐȞȦ ĮȡȚıIJİȡȐ țȠȡȣijȒ ıIJȠ ıȘµİȓȠ 100, 150, ʌȜȐIJȠȢ 20 țĮȚ ȪȥȠȢ 30. Ǿ µȑșȠįȠȢ fillOval() ȖݵȓȗİȚ IJȘȞ ȑȜȜİȚȥȘ µİ ȤȡȫµĮ: g.setColor(Color.yellow); g.fillOval(100, 150, 20, 30); īȚĮ ȞĮ ıȤİįȚȐıȠȣµİ ȑȞĮ IJȩȟȠ ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ drawArc() ȦȢ İȟȒȢ: g.setColor(Color.blue); g.drawArc(100, 150, 30, 20, 45, 180); Ǿ ʌĮȡĮʌȐȞȦ İȞIJȠȜȒ ıȤİįȚȐȗİȚ ȑȞĮ IJȩȟȠ ȑȜȜİȚȥȘȢ µİ µʌȜİ ȤȡȫµĮ, µİ ʌȐȞȦ ĮȡȚıIJİȡȐ țȠȡȣijȒ ıIJȠ ıȘµİȓȠ 100, 150, ʌȜȐIJȠȢ 20, ȪȥȠȢ 30, ȖȦȞȓĮ İțțȓȞȘıȘȢ IJȠȣ IJȩȟȠȣ ıIJȚȢ 45 µȠȓȡİȢ țĮȚ ȖȦȞȓĮ IJȠȣ IJȩȟȠȣ 180 µȠȓȡİȢ µİ ijȠȡȐ ĮȞIJȓșİIJȘ ĮȣIJȒȢ IJȦȞ įİȚțIJȫȞ IJȠȣ ȡȠȜȠȖȚȠȪ. Ǿ µȑșȠįȠȢ fillArc() ȖݵȓȗİȚ IJȠ IJȩȟȠ µİ ȤȡȫµĮ: g.setColor(Color.green); g.fillArc(100, 150, 20, 20, 90, -180); īȚĮ ȞĮ ıȤİįȚȐıȠȣµİ ȑȞĮ ʌȠȜȪȖȦȞȠ, ʌȡȑʌİȚ ʌȡȫIJĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ȑȞĮȞ ʌȓȞĮțĮ (array) ĮțİȡĮȓȦȞ ʌȠȣ șĮ ʌİȡȚȑȤİȚ IJȚȢ x ıȣȞIJİIJĮȖµȑȞİȢ țĮȚ ȑȞĮȞ ȐȜȜȠȞ ʌȓȞĮțĮ ĮțİȡĮȓȦȞ ʌȠȣ șĮ ʌİȡȚȑȤİȚ IJȚȢ y ıȣȞIJİIJĮȖµȑȞİȢ IJȦȞ țȠȡȣijȫȞ IJȠȣ ʌȠȜȣȖȫȞȠȣ. ȋȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ drawPolygon(), Ș ȠʌȠȓĮ ʌĮȓȡȞİȚ ıĮȞ ʌĮȡĮµȑIJȡȠȣȢ IJȠȣȢ įȪȠ ʌȓȞĮțİȢ µİ IJȚȢ ıȣȞIJİIJĮȖµȑȞİȢ țĮșȫȢ țĮȚ ȑȞĮȞ ĮțȑȡĮȚȠ ĮȡȚșµȩ ʌȠȣ ʌĮȡȚıIJȐȞİȚ IJȠȞ ĮȡȚșµȩ IJȦȞ țȠȡȣijȫȞ IJȠȣ ʌȠȜȣȖȫȞȠȣ. int[] xPoints = {100, 150, 200, 250}; int[] yPoints = {50, 100, 150, 300}; int point = 4; g.setColor(Color.red); g.drawPolygon(xPoints, yPoints, points); Ǿ µȑșȠįȠȢ fillPolygon() ȖݵȓȗİȚ IJȠ ʌȠȜȪȖȦȞȠ µİ ȤȡȫµĮ: g.fillPolygon(xPoints, yPoints, points); 20. ȆȜȒțIJȡĮ ǼȞIJȠȜȒȢ īȚĮ ȞĮ µʌȠȡȑıȠȣµİ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ȑȞĮ ıȣıIJĮIJȚțȩ, ȩʌȦȢ ȑȞĮ ʌȜȒțIJȡȠ İȞIJȠȜȒȢ (button) ı' ȑȞĮ ʌȡȩȖȡĮµµĮ IJȘȢ Java, įȘµȚȠȣȡȖȠȪµİ ʌȡȫIJĮ IJȠ ĮȞIJȚțİȓµİȞȠ țĮȚ µİIJȐ ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ add() ȖȚĮ ȞĮ IJȠ ʌȡȠıșȑıȠȣµİ ı' ȑȞĮ ȣʌȐȡȤȠȞ ıȣıIJĮIJȚțȩ. DzȞĮ ıȣıIJĮIJȚțȩ Button İȓȞĮȚ ȑȞĮ ʌȜȒțIJȡȠ µİ įȣȞĮIJȩIJȘIJĮ țȜȚț țĮȚ µİ µȚĮ İIJȚțȑIJĮ (label, caption) ʌȠȣ ʌİȡȚȖȡȐijİȚ IJȚ șĮ ıȣµȕİȓ ĮȞ țȐȞȠȣµİ țȜȚț ıIJȠ ʌȜȒțIJȡȠ. īȚĮ ȞĮ ʌȡȠıșȑıȠȣµİ ȑȞĮ button ı' ȑȞĮ applet, ȖȡȐijȠȣµİ IJȠȞ İȟȒȢ țȫįȚțĮ: import java.applet.Applet; import java.awt.*; public class lesson20 extends Applet { Button helloButton = new Button("Hello"); public void init() ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 13 -
{
add(helloButton);
} } 21. ǼIJȚțȑIJİȢ țĮȚ ȆȜĮȓıȚĮ ȀİȚµȑȞȠȣ ȂȚĮ İIJȚțȑIJĮ (Label) ݵijĮȞȓȗİȚ ȑȞĮ µȒȞȣµĮ (string) ʌȠȣ įİȞ µʌȠȡİȓ ȞĮ ĮȜȜĮȤșİȓ Įʌȩ IJȠȞ ȤȡȒıIJȘ, İȞȫ ȑȞĮ ʌȜĮȓıȚȠ țİȚµȑȞȠȣ (TextField) İȓȞĮȚ µȚĮ ʌİȡȚȠȤȒ ȩʌȠȣ Ƞ ȤȡȒıIJȘȢ µʌȠȡİȓ ȞĮ țĮIJĮȤȦȡȒıİȚ µȓĮ ȖȡĮµµȒ țİȚµȑȞȠȣ. ȂʌȠȡȠȪµİ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ İIJȚțȑIJİȢ țĮȚ ʌȜĮȓıȚĮ țİȚµȑȞȠȣ ı' ȑȞĮ applet IJȘȢ Java ȦȢ İȟȒȢ: import java.applet.Applet; import java.awt.*; public class lesson21 extends Applet { Label emailLabel = new Label("ǻȚİȪșȣȞıȘ e-mail: ", Label.RIGHT); TextField emailAddress = new TextField(30); public void init() { add(emailLabel); add(emailAddress); } } 22. ȆȜĮȓıȚĮ ǼȜȑȖȤȠȣ țĮȚ ȆȜȒțIJȡĮ ǼʌȚȜȠȖȒȢ DzȞĮ ʌȜĮȓıȚȠ İȜȑȖȤȠȣ (checkbox) İȓȞĮȚ ȑȞĮ IJİIJȡȐȖȦȞȠ ıȣıIJĮIJȚțȩ ʌȠȣ µʌȠȡȠȪµİ ȞĮ İʌȚȜȑȟȠȣµİ ĮȞİȟȐȡIJȘIJĮ Įʌȩ ȐȜȜĮ ʌȜĮȓıȚĮ İȜȑȖȤȠȣ, İȞȫ ȑȞĮ ʌȜȒțIJȡȠ İʌȚȜȠȖȒȢ (radio button) İȓȞĮȚ ȑȞĮ țȣțȜȚțȩ ıȣıIJĮIJȚțȩ ȩʌȠȣ µʌȠȡȠȪµİ ȞĮ İʌȚȜȑȟȠȣµİ ȑȞĮ țĮȚ µȩȞȠ ȑȞĮ Įʌȩ µȚĮ ȠµȐįĮ ʌȜȒțIJȡȦȞ İʌȚȜȠȖȒȢ. Ǿ Java ȤĮȡĮțIJȘȡȓȗİȚ țĮȚ IJĮ ʌȜĮȓıȚĮ İȜȑȖȤȠȣ țĮȚ IJĮ ʌȜȒțIJȡĮ İʌȚȜȠȖȒȢ ıĮȞ CheckBox țĮȚ IJĮ įȚĮȤȦȡȓȗİȚ ĮȞ țĮIJȐ IJȘȞ ıIJȚȖµȒ IJȘȢ įȘµȚȠȣȡȖȓĮȢ IJȠȣȢ ĮȞȒțȠȣȞ Ȓ ȩȤȚ ıİ µȚĮ ȠµȐįĮ (CheckboxGroup). īȚĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ȑȞĮ ʌȜĮȓıȚȠ İȜȑȖȤȠȣ ı' ȑȞĮ applet ȖȡȐijȠȣµİ IJȠȞ İȟȒȢ țȫįȚțĮ: import java.applet.Applet; import java.awt.*; public class lesson22a extends Applet { Checkbox emailMe = new Checkbox("ȈIJİȓȜIJİ e-mail", true); public void init() { add(emailMe); } } ȂʌȠȡȠȪµİ ȞĮ ʌȡȠıșȑıȠȣµİ įȪȠ ȠȡȓıµĮIJĮ țĮIJȐ IJȘȞ įȘµȚȠȣȡȖȓĮ İȞȩȢ ʌȜĮȚıȓȠȣ İȜȑȖȤȠȣ, ȩʌȠȣ IJȠ ʌȡȫIJȠ İȓȞĮȚ µȚĮ İʌİȟȘȖȘµĮIJȚțȒ ȖȡĮµµȒ țİȚµȑȞȠȣ ʌȠȣ șĮ ݵijĮȞȚıșİȓ įȓʌȜĮ ıIJȠ ʌȜĮȓıȚȠ İȜȑȖȤȠȣ țĮȚ IJȠ įİȪIJİȡȠ İȓȞĮȚ µȚĮ IJȚµȒ boolean ʌȠȣ įȚİȣțȡȚȞȓȗİȚ ĮȞ IJȠ ʌȜĮȓıȚȠ İȜȑȖȤȠȣ șĮ İȓȞĮȚ İʌȚȜİȖµȑȞȠ (true) Ȓ ȩȤȚ (false) ȩIJĮȞ İțIJİȜİıșİȓ Ș İijĮȡµȠȖȒ. īȚĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ ʌȜȒțIJȡĮ İʌȚȜȠȖȒȢ ı' ȑȞĮ applet ʌȡȑʌİȚ ʌȡȫIJĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ µȚĮ ȠµȐįĮ ʌȜĮȚıȓȦȞ İȜȑȖȤȠȣ µİ IJȠ ĮȞIJȚțİȓµİȞȠ CheckboxGroup țĮȚ µİIJȐ țĮIJȐ IJȘȞ įȘµȚȠȣȡȖȓĮ IJȦȞ ʌȜĮȚıȓȦȞ İȜȑȖȤȠȣ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ țĮȚ µȚĮ IJȡȓIJȘ ʌĮȡȐµİIJȡȠ ʌȠȣ ȞĮ įȘȜȫȞİȚ IJȘȞ ȠµȐįĮ ıIJȘȞ ȠʌȠȓĮ șĮ ĮȞȒțİȚ ĮȣIJȩ IJȠ ʌȜĮȓıȚȠ İȜȑȖȤȠȣ, ȐȡĮ ıIJȘȞ ȠȣıȓĮ įȘµȚȠȣȡȖȠȪµİ ȑȞĮ ʌȜȒțIJȡȠ İʌȚȜȠȖȒȢ. īȡȐijȠȣµİ IJȠȞ İȟȒȢ țȫįȚțĮ:
ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 14 -
import java.applet.Applet; import java.awt.*; public class lesson22b extends Applet { CheckboxGroup cards = new CheckboxGroup(); Checkbox visacard = new Checkbox("Visa Card", true, cards); Checkbox mastercard = new Checkbox("Master Card", false, cards); Checkbox dinerscard = new Checkbox("Diners Card", false, cards); public void init() { add(visacard); add(mastercard); add(dinerscard); } } ǻȘµȚȠȣȡȖȒıĮµİ ȑȞĮ checkbox group µİ ȩȞȠµĮ cards țĮȚ ȩȜĮ IJĮ ʌȜĮȓıȚĮ İȜȑȖȤȠȣ (ıIJȘȞ ȠȣıȓĮ ʌȜȒțIJȡĮ İʌȚȜȠȖȒȢ) ʌȠȣ įȘµȚȠȣȡȖȒıĮµİ ʌȡȠıIJȑșȘțĮȞ ı' ĮȣIJȒ IJȘȞ ȠµȐįĮ (group). 23. ȁȓıIJİȢ ǼʌȚȜȠȖȒȢ ȂȚĮ ȜȓıIJĮ İʌȚȜȠȖȒȢ (choice) İȓȞĮȚ µȚĮ ʌIJȣııȩµİȞȘ ȜȓıIJĮ İʌȚȜȠȖȫȞ Įʌȩ IJȚȢ ȠʌȠȓİȢ µȩȞȠ µȓĮ µʌȠȡİȓ ȞĮ İȓȞĮȚ İʌȚȜİȖµȑȞȘ. ǼȓȞĮȚ ȖȞȦıIJȒ țĮȚ ıĮȞ ʌIJȣııȩµİȞȠ Ȓ ıȪȞșİIJȠ ʌȜĮȓıȚȠ (combo box). īȚĮ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ µȚĮ ȜȓıIJĮ İʌȚȜȠȖȒȢ, įȘµȚȠȣȡȖȠȪµİ ʌȡȫIJĮ IJȠ ĮȞIJȚțİȓµİȞȠ țĮȚ µİIJȐ ʌȡȠıșȑIJȠȣµİ µȓĮ-µȓĮ IJȚȢ İʌȚȜȠȖȑȢ, ȦȢ İȟȒȢ: import java.applet.Applet; import java.awt.*; public class lesson23 extends Applet { Choice sport = new Choice(); public void init() { sport.add("ȂʌȐıțİIJ"); sport.add("ǺȩȜİȧ"); sport.add("ȆȠįȩıijĮȚȡȠ"); sport.add("ȀȠȜȪµȕȘıȘ"); add.sport(); } } ǻȘµȚȠȣȡȖȒıĮµİ µȚĮ ȜȓıIJĮ İʌȚȜȠȖȒȢ µİ IJȑııİȡĮ ĮșȜȒµĮIJĮ. 24. ȆİȡȚȠȤȑȢ ȀİȚµȑȞȠȣ ȂȚĮ ʌİȡȚȠȤȒ țİȚµȑȞȠȣ (TextArea) İȓȞĮȚ ȑȞĮ ʌİįȓȠ țİȚµȑȞȠȣ ȩʌȠȣ µʌȠȡȠȪµİ ȞĮ țĮIJĮȤȦȡȒıȠȣµİ ʌİȡȚııȩIJİȡİȢ Įʌȩ µȓĮ ȖȡĮµµȑȢ țİȚµȑȞȠȣ. Ȉİ µȚĮ ʌİȡȚȠȤȒ țİȚµȑȞȠȣ ʌȡȑʌİȚ ȞĮ țĮșȠȡȓıȠȣµİ IJȠ ʌȜȐIJȠȢ țĮȚ IJȠ ȪȥȠȢ IJȘȢ țĮȚ µʌȠȡȠȪµİ ȞĮ IJȠʌȠșİIJȒıȠȣµİ țĮȚ ȑȞĮ ĮȡȤȚțȩ țİȓµİȞȠ µĮȗȓ IJȘȞ įȒȜȦıȒ IJȘȢ. ȂʌȠȡȠȪµİ ȞĮ įȘµȚȠȣȡȖȒıȠȣµİ µȚĮ ʌİȡȚȠȤȒ țİȚµȑȞȠȣ ı' ȑȞĮ applet IJȘȢ Java ȦȢ İȟȒȢ: import java.applet.Applet; import java.awt.*; public class lesson24 extends Applet { TextArea comments = new TextArea("īȡȐȥIJİ İįȫ", 10, 20); public void init() ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 15 -
{
add(comments);
} } 25. ȉĮ Layout Managers ȉĮ ĮȞIJȚțİȓµİȞĮ Panel ĮȞȒțȠȣȞ ıIJȘȞ țĮIJȘȖȠȡȓĮ IJȦȞ ĮȞIJȚțİȚµȑȞȦȞ ʌȠȣ İȓȞĮȚ ȖȞȦıIJȐ ıĮȞ ȣʌȠįȠȤİȓȢ (containers). ȉĮ ĮȞIJȚțİȓµİȞĮ ĮȣIJȐ įİȞ ݵijĮȞȓȗȠȣȞ IJȓʌȠIJĮ țĮȚ ȤȡȘıȚµȠʌȠȚȠȪȞIJĮȚ ȖȚĮ ȞĮ ʌİȡȚȑȤȠȣȞ ȐȜȜĮ ĮȞIJȚțİȓµİȞĮ. ȉȠ ʌȡȠțĮșȠȡȚıµȑȞȠ layout manager İȓȞĮȚ Ș țȜȐıȘ FlowLayout ʌȠȣ ȑȤȠȣµİ ȤȡȘıȚµȠʌȠȚȒıİȚ ı' ȩȜĮ IJĮ ʌĮȡĮįİȓȖµĮIJȐ µĮȢ µȑȤȡȚ IJȫȡĮ, ȤȦȡȓȢ ȞĮ IJȠ ȑȤȠȣµİ įȘȜȫıİȚ ȡȘIJȐ. ȈȪµijȦȞĮ µ' ĮȣIJȩ IJȠ layout manager, IJĮ ĮȞIJȚțİȓµİȞĮ IJȠʌȠșİIJȠȪȞIJĮȚ ıİ µȚĮ ʌİȡȚȠȤȒ Įʌȩ ĮȡȚıIJİȡȐ ʌȡȠȢ IJĮ įİȟȚȐ țĮȚ ıIJȘȞ İʌȩµİȞȘ ȖȡĮµµȒ ȩIJĮȞ įİȞ ȣʌȐȡȤİȚ ȐȜȜȠȢ ȤȫȡȠȢ. 26. ȅ GridLayout Manager Ǿ țȜȐıȘ GridLayout ȠȡȖĮȞȫȞİȚ IJĮ ıȣıIJĮIJȚțȐ ı' ȑȞĮȞ ȣʌȠįȠȤȑĮ (container) µ' ȑȞĮȞ ıȣȖțİțȡȚµȑȞȠ ĮȡȚșµȩ ȖȡĮµµȫȞ țĮȚ ıIJȘȜȫȞ, ȦȢ İȟȒȢ: GridLayout ourLayout = new GridLayout(3, 4); setLayout(ourLayout); Ǿ ʌĮȡĮʌȐȞȦ įȚȐIJĮȟȘ ȠȡȓȗİȚ IJȘȞ IJȠʌȠșȑIJȘıȘ IJȦȞ ĮȞIJȚțİȚµȑȞȦȞ ı' ȑȞĮ ʌȜȑȖµĮ (grid) µİ 3 ȖȡĮµµȑȢ țĮȚ 4 ıIJȒȜİȢ. 27. ȅ BorderLayout Manager Ǿ țȜȐıȘ BorderLayout IJĮțIJȠʌȠȚİȓ IJĮ ıȣıIJĮIJȚțȐ ıİ ʌȑȞIJİ ʌİȡȚȠȤȑȢ, ȩʌȠȣ ȠȚ IJȑııİȡȚȢ ȤĮȡĮțIJȘȡȓȗȠȞIJĮȚ Įʌȩ IJȚȢ șȑıİȚȢ IJȘȢ ʌȣȟȓįĮȢ, įȘȜ. North, South, East, West țĮȚ µȚĮ ȖȚĮ IJȠ țȑȞIJȡȠ (Center), ȦȢ İȟȒȢ: import java.applet.Applet; import java.awt.*; public class lesson27 extends Applet { Button oneButton = new Button("DzȞĮ"); Button twoButton = new Button("ǻȪȠ"); Button threeButton = new Button("ȉȡȓĮ"); Button fourButton = new Button("ȉȑııİȡĮ"); Button fiveButton = new Button("ȆȑȞIJİ"); public void init() { BorderLayout ourLayout = new BorderLayout(); setLayout(ourLayout); add(oneButton, "North"); add(twoButton, "South"); add(threeButton, "East"); add(fourButton, "West"); add(fiveButton, "Center"); } } 28. ȉĮ ȈȣµȕȐȞIJĮ ȋȡȒıIJȘ Ǿ ĮʌȩțȡȚıȘ ıIJĮ ıȣµȕȐȞIJĮ ȤȡȒıIJȘ (user events) ı' ȑȞĮ ʌȡȩȖȡĮµµĮ IJȘȢ Java ĮʌĮȚIJİȓ IJȘȞ ȤȡȒıȘ İȞȩȢ Ȓ ʌİȡȚııȠIJȑȡȦȞ EventListener interfaces. ȅȚ țȜȐıİȚȢ ĮțȡȩĮıȘȢ (listening classes) ĮʌȠIJİȜȠȪȞ µȑȡȠȢ IJȠȣ ʌĮțȑIJȠȣ java.awt.event țĮȚ µʌȠȡȠȪµİ ȞĮ IJȚȢ țȐȞȠȣµİ įȚĮșȑıȚǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 16 -
µİȢ µİ IJȘȞ İȟȒȢ İȞIJȠȜȒ: import java.awt.event.*; ȆȡȑʌİȚ İʌȓıȘȢ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ IJȘȞ İȞIJȠȜȒ implements ȖȚĮ ȞĮ įȘȜȫıȠȣµİ ȩIJȚ șĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ ȑȞĮ Ȓ ʌİȡȚııȩIJİȡĮ listening interfaces. Ǿ İʌȩµİȞȘ İȞIJȠȜȒ įȘµȚȠȣȡȖİȓ µȚĮ țȜȐıȘ ʌȠȣ ȤȡȘıȚµȠʌȠȚİȓ IJȠ ActionListener, IJȠ ȠʌȠȓȠ İȓȞĮȚ ȑȞĮ interface ʌȠȣ ȤȡȘıȚµȠʌȠȚİȓIJĮȚ µİ ʌȜȒțIJȡĮ İȞIJȠȜȒȢ (buttons) țĮȚ ȐȜȜĮ ıȣıIJĮIJȚțȐ. public class Graph extends Applet implements ActionListener { ... } ȉȠ EventListener interface įȓȞİȚ IJȘȞ įȣȞĮIJȩIJȘIJĮ ı' ȑȞĮ ıȣıIJĮIJȚțȩ İȞȩȢ ȖȡĮijȚțȠȪ interface ȤȡȒıIJȘ ȞĮ ʌĮȡȐȖİȚ ıȣµȕȐȞIJĮ ȤȡȒıIJȘ. DzȞĮ ʌȡȩȖȡĮµµĮ ʌȡȑʌİȚ ȞĮ ʌİȡȚȜĮµȕȐȞİȚ ȑȞĮ listener interface ȖȚĮ țȐșİ IJȪʌȠ ıȣıIJĮIJȚțȠȪ ʌȠȣ İʌȚșȣµİȓ ȞĮ ĮțȠȪıİȚ, ȦȢ İȟȒȢ: public class Graph3d extends Applet implements ActionListener, MouseListener { ... } ǹijȠȪ ȑȤȠȣµİ įȘµȚȠȣȡȖȒıİȚ IJȠ interface ʌȠȣ ĮʌĮȚIJİȓIJĮȚ ȖȚĮ ȑȞĮ ıȣȖțİțȡȚµȑȞȠ ıȣıIJĮIJȚțȩ, șĮ ʌȡȑʌİȚ ȞĮ ȠȡȓıȠȣµİ ĮȣIJȩ IJȠ ıȣıIJĮIJȚțȩ ȫıIJİ ȞĮ įȘµȚȠȣȡȖİȓ ıȣµȕȐȞIJĮ ȤȡȒıIJȘ. īȚĮ ȞĮ țȐȞȠȣµİ ȑȞĮ ʌȜȒțIJȡȠ İȞIJȠȜȒȢ (button) ȞĮ ʌĮȡȐȖİȚ ȑȞĮ ıȣµȕȐȞ, ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ addActionListener(), ȦȢ İȟȒȢ: Button button1 = new Button("ǼțțȓȞȘıȘ"); button1.addActionListener(this); ǵIJĮȞ ʌĮȡȐȖİIJĮȚ ȑȞĮ ıȣµȕȐȞ ȤȡȒıIJȘ Įʌȩ ȑȞĮ ıȣıIJĮIJȚțȩ ʌȠȣ ʌİȡȚȑȤİȚ ȑȞĮȞ listener, șĮ țȜȘșİȓ ĮȣIJȩµĮIJĮ µȚĮ µȑșȠįȠȢ. ǹȣIJȑȢ ȠȚ µȑșȠįȠȚ ʌȡȑʌİȚ ȞĮ ȕȡȓıțȠȞIJĮȚ ıIJȘȞ țȜȐıȘ ʌȠȣ țĮșȠȡȓıșȘțİ ȩIJĮȞ Ƞ listener ʌȡȠıIJȑșȘțİ ıIJȠ ıȣıIJĮIJȚțȩ. ȅ țȐșİ listener įȚĮșȑIJİȚ įȚĮijȠȡİIJȚțȑȢ µİșȩįȠȣȢ ʌȠȣ țĮȜȠȪȞIJĮȚ ȖȚĮ ȞĮ ıȣȜȜȐȕȠȣȞ IJĮ ıȣµȕȐȞIJȐ IJȠȣȢ. īȚĮ ʌĮȡȐįİȚȖµĮ, IJȠ ActionListener interface ıIJȑȜȞİȚ ıȣµȕȐȞIJĮ ıİ µȚĮ țȜȐıȘ ʌȠȣ țĮȜİȓIJĮȚ actionPerformed(), ȦȢ İȟȒȢ: void public actionPerformed(ActionEvent e) { ... } ǵȜĮ IJĮ ıȣµȕȐȞIJĮ İȞȑȡȖİȚĮȢ ʌȠȣ ıIJȑȜȞȠȞIJĮȚ ı' ĮȣIJȩ IJȠ ʌȡȩȖȡĮµµĮ șĮ ʌȐȞİ ı' ĮȣIJȒȞ IJȘȞ µȑșȠįȠ. ȈIJȘȞ ıȣȖțİțȡȚµȑȞȘ ʌİȡȓʌIJȦıȘ ıIJȑȜȞȠȣµİ ȑȞĮ ĮȞIJȚțİȓµİȞȠ µİ ȩȞȠµĮ e IJȘȢ țȜȐıȘȢ ActionEvent ıIJȘȞ µȑșȠįȠ actionPerformed(). ȊʌȐȡȤȠȣȞ ʌȠȜȜȑȢ įȚĮijȠȡİIJȚțȑȢ țȜȐıİȚȢ ĮȞIJȚțİȚµȑȞȦȞ ʌȠȣ ĮȞIJȚʌȡȠıȦʌİȪȠȣȞ IJĮ ıȣµȕȐȞIJĮ ȤȡȒıIJȘ ʌȠȣ µʌȠȡȠȪȞ ȞĮ ıIJĮȜȠȪȞ ı' ȑȞĮ ʌȡȩȖȡĮµµĮ. ǹȣIJȑȢ ȠȚ țȜȐıİȚȢ ȑȤȠȣȞ µİșȩįȠȣȢ ʌȠȣ µʌȠȡȠȪµİ ȞĮ ȤȡȘıȚµȠʌȠȚȒıȠȣµİ ȖȚĮ ȞĮ ȕȡȠȪµİ ʌȠȚȠ ıȣıIJĮIJȚțȩ ʌȡȠțȐȜİıİ IJȘȞ İțIJȑȜİıȘ IJȠȣ ıȣµȕȐȞIJȠȢ. ȈIJȘȞ µȑșȠįȠ actionPerformed() µʌȠȡȠȪµİ ȞĮ ĮȞĮȖȞȦȡȓıȠȣµİ IJȠ ıȣıIJĮIJȚțȩ ĮȣIJȩ µİ IJȘȞ İȟȒȢ İȞIJȠȜȒ: String cmd = e.getActionCommand(); Ǿ µȑșȠįȠȢ getActionCommand() İʌȚıIJȡȑijİȚ ȑȞĮ string țĮȚ ĮȞ IJȠ ıȣıIJĮIJȚțȩ İȓȞĮȚ ȑȞĮ ʌȜȒțIJȡȠ İȞIJȠȜȒȢ (button), Ș IJȚµȒ IJȠȣ string șĮ İȓȞĮȚ Ș İIJȚțȑIJĮ (label, caption) IJȠȣ ʌȜȒțIJȡȠȣ İȞIJȠȜȒȢ, İȞȫ ĮȞ IJȠ ıȣıIJĮIJȚțȩ İȓȞĮȚ ȑȞĮ ʌȜĮȓıȚȠ țİȚµȑȞȠȣ (text field), Ș IJȚµȒ IJȠȣ string șĮ İȓȞĮȚ IJȠ țİȓµİȞȠ ʌȠȣ ȑȤİȚ țĮIJĮȤȦȡȘșİȓ ıIJȠ ʌȜĮȓıȚȠ țİȚµȑȞȠȣ.
ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ
ȆĮȡĮįİȓȖµĮIJĮ Java - 17 -
Ȃİ IJȘȞ µȑșȠįȠ getSource() µʌȠȡȠȪµİ ȞĮ µȐșȠȣµİ IJȠ ĮȞIJȚțİȓµİȞȠ ʌȠȣ ʌȡȠțȐȜİıİ IJȠ ıȣµȕȐȞ, ȦȢ İȟȒȢ: Object source = e.getSource(); 29. ȈȣµȕȐȞIJĮ µİ ȆȜĮȓıȚĮ ǼȜȑȖȤȠȣ țĮȚ ȁȓıIJİȢ ǼʌȚȜȠȖȒȢ ȉĮ ʌȜĮȓıȚĮ İȜȑȖȤȠȣ țĮȚ ȠȚ ȜȓıIJİȢ İʌȚȜȠȖȒȢ ĮʌĮȚIJȠȪȞ IJȠ ItemListener interface. īȚĮ ȞĮ țȐȞȠȣµİ ȑȞĮ Įʌ' ĮȣIJȐ IJĮ ıȣıIJĮIJȚțȐ ȞĮ įȘµȚȠȣȡȖİȓ ıȣµȕȐȞIJĮ, ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ addItemListener(). ȅȚ İʌȩµİȞİȢ İȞIJȠȜȑȢ įȘµȚȠȣȡȖȠȪȞ ȑȞĮ ʌȜĮȓıȚȠ İȜȑȖȤȠȣ µİ ȩȞȠµĮ visaCard țĮȚ IJȠ țȐȞȠȣȞ ȞĮ ıIJȑȜȞİȚ ıȣµȕȐȞIJĮ ȤȡȒıIJȘ țȐșİ ijȠȡȐ ʌȠȣ țȐȞȠȣµİ țȜȚț ʌȐȞȦ IJȠȣ. Checkbox visaCard = new Checkbox("Visa Card", true); visaCard.addItemListener(this); ȉĮ ıȣµȕȐȞIJĮ ȜĮµȕȐȞȠȞIJĮȚ Įʌȩ IJȘȞ µȑșȠįȠ itemStateChanged(), Ș ȠʌȠȓĮ ʌĮȓȡȞİȚ ıĮȞ ȩȡȚıµĮ ȑȞĮ ĮȞIJȚțİȓµİȞȠ ItemEvent. īȚĮ ȞĮ ȕȡȠȪµİ ʌȠȚȠ ĮȞIJȚțİȓµİȞȠ ʌȡȠțȐȜİıİ IJȠ ıȣµȕȐȞ, ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ getItem(). īȚĮ ȞĮ ȕȡȠȪµİ ĮȞ ȑȞĮ ʌȜĮȓıȚȠ İȜȑȖȤȠȣ İȓȞĮȚ İʌȚȜİȖµȑȞȠ Ȓ ȩȤȚ, ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ getStateChange() µİ IJȚȢ ıIJĮșİȡȑȢ ItemEvent.SELECTED țĮȚ ItemEvent.DESELECTED, ȦȢ İȟȒȢ: int status = visaCard.getStateChanged(); if (status = = ItemEvent.SELECTED) { // IJȠ ıIJȠȚȤİȓȠ İȓȞĮȚ İʌȚȜİȖµȑȞȠ } else { // IJȠ ıIJȠȚȤİȓȠ įİȞ İȓȞĮȚ İʌȚȜİȖµȑȞȠ } īȚĮ ȞĮ ȕȡȠȪµİ IJȘȞ IJȚµȒ ʌȠȣ ȑȤİȚ İʌȚȜİȖİȓ ı' ȑȞĮ ĮȞIJȚțİȓµİȞȠ ȜȓıIJĮȢ, ȤȡȘıȚµȠʌȠȚȠȪµİ IJȘȞ µȑșȠįȠ getItem() țĮȚ µİIJĮIJȡȑʌȠȣµİ IJȘȞ IJȚµȒ ʌȠȣ İʌȚıIJȡȑijİȚ ıİ string, ȦȢ İȟȒȢ: Object which = visaCard.getItem(); String answer = (String) which; 30. ȈȣµȕȐȞIJĮ µİ ȆȜĮȓıȚĮ ȀİȚµȑȞȠȣ ǹȞ șȑȜȠȣµİ ȞĮ İȜȑȖȟȠȣµİ ĮȞ ȑȤİȚ ȜȐȕİȚ ȤȫȡĮ ȑȞĮ ıȣµȕȐȞ ı' ȑȞĮ ʌȜĮȓıȚȠ țİȚµȑȞȠȣ, ȩʌȦȢ ĮȜȜĮȖȒ IJȘȢ IJȚµȒȢ IJȠȣ, ȤȡȘıȚµȠʌȠȚȠȪµİ IJȠ TextListener interface. Ǿ µȑșȠįȠȢ addTextListener() țȐȞİȚ ȑȞĮ ıȣıIJĮIJȚțȩ țİȚµȑȞȠȣ ȞĮ µʌȠȡİȓ ȞĮ įȘµȚȠȣȡȖİȓ ıȣµȕȐȞIJĮ ȤȡȒıIJȘ țĮȚ Ș µȑșȠįȠȢ textValueChanged() ȜĮµȕȐȞİȚ IJĮ ıȣµȕȐȞIJĮ, ȦȢ İȟȒȢ: public void textValueChanged(TextEvent txt) { Object source = txt.getSource(); if (source = = address) { String newAddress = address.getText(); } else { String newZipCode = zipCode.getText(); } }
ǹș. Ǽ. ȀȠȣIJıȠȞȚțȩȜĮȢ