صفحه 1:
3
*اجاوا ثمره ۱۵ سال تلاش جهت ایجاد زبان
ted ele) ۱
ساخت برنامه هاى مطمئن تر مى باشد.
صفحه 2:
Object Oriented Programming) : 1,5 برنامه نویسی شی
(OOP
Pett eS Rel DE Ec a RS Mee) ORCL ke el ie
Fone En ep rn rer A sr rrene Airs Sone rere)
ايجاد اشيا به همان صورتى كه در طبيعت وجود دارند.
براى شروع موارد زير را بررسى مى كنيم:
* ایجاد کلاسها
eo Ie te) Re Ce eee ar) ee og
هاى ديكر را به ارث ببرد.
* لینک کلاسها به یکدیگر از طریق ۵۵96 ها و واسطها.
صفحه 3:
Class & Object =: lal 9 QuS
* اصول برنامه نویسی شیء گرا از جهان واقعی اقتباس شده است.
ROW EW a ope ea Cen We Pee rea
بنابر این در برنامه نوبسی شیء گرا قابلیت تر کیب اشیا برای
vA Pe eee ayn |
* از کلاسها برای ایجاد اشیاء استفاده می کنیم. در واقع اشیاء نمونه
Sede aCe eee) Be ae eset.) |
توان تعداد زيادى شىء دانشجو ايجاد كرد.
صفحه 4:
Variable: px
۱ در زمان اجرای برنامه
می باشد. مقدار متغیر را می توان در طول اجرای برنامه تغییر داد.
روش ايجاد متغير در زبان جاوا به صورت زير مى باشد.
Data_Type Variable Name;
: مثال *
int highScore;
5111130 51113111
boolean gameOver;
صفحه 5:
نکته
ESE MES ESCO NCR) SBP ROy) oe ET lad
4
peel ل اليا
* اين نوع متغیرها هنگام ایجاد یک شی از کلاس مقدار می گیرند. اشیا
DE RED ced ا Reel dt eae رت
ent Rene Ree oe el)
ero Cash peta ۷ و وو۱
EES CRP FCG Cae ee Cet BENG) CMTE Se aii
webb go Gly wll Lidl plod Gly Old jlaiio
صفحه 6:
Local Variable eC rC Lyra
epee pe eer Tee We on ا Mey SEN SSC OES Ce Bs
صفحه 7:
ل ا ا 0
6102١ وجود ندارد .
صفحه 8:
eae Per ee SOY ey اتات
Value
"" مقدار دهى اوليه به متغيرها در زبان جاوا به صورت زير مى باشد.
;Data_Type Variable_name = Value
;int zipcode = 90210
;’String name = "Brandon
;boolean cheatedOnKelly = true
;int age = 28, height = 70, weight = 140
صفحه 9:
نکته
۱ oe ل ل
Peper oy DECC Ceti peer esi need]
Dees cee ee Md RUS ced
SS
متغیرهای عددی : ۰
Li) tee
null : اشیاء
(0 pet oad
صفحه 10:
pe ne om او »رلیرت رن
ا pe reed و ا ا
و پس از آن می تواند ترکیبی از حروف واعداد باشد .
نكته: به اين دليل كه زبان جاوا از ©[©171606لا استفاده مى كندء نام
متغيرها مى تواند شامل هر كاراكترى كه داراى كد ©1112»060[1نا
است. باشد.
نكته: زبان جاوا يك زبان 115111176 ©285©6-5) مى باشد.
۱ ا 1 ال a
باعث می شود که نام متغیرها بهتر در ذهنتان بماند.
صفحه 11:
قوانین نام گذاری متغیرها
PEs Bees ce Se oe ee Pen bc ores
.١ براى اولين حرف نام متغير از حروف كوجك استفاده
ere LOM LN neem nee eC
کلمات بعدی را به صورت بزرگ تایپ کنید.
7 Ree Twp We pen eC eee many
صفحه 12:
Pra est Be] eee
توجه داشته باشيد كه علاوه بر نام متغير بايد نوع اطلاعاتى را كه
مى خواهيم درون يكه متغير درج نماييم: تعيين كنيم. نوع اطلاعات
يك متغيير يكى از حالات زير مى باشد.
.١ نوع داده مقدماتى
0
۳ _ یک آرایه
صفحه 13:
ا 0 حل يننا
Type
در مجموع 8 نوع داده اى متفاوت براى اعداد صحيح,
اعداد اعشاری. كاراكترها و مقادير منطقى وجود دارد.
انواع داده اى فوق را انواع اوليه(يايه) هم مى نامند. دليل
SC ا 17
طور پیش فرض مى باشد.ء به عبارت ديكر اين انواع داده
TPS ESE gel pele eer a | بات تر است.
el ee Ieee eee PERCE ICED Ears
ا ا ede
صفحه 14:
۱10152712108 12-6
Value that can
be stored
to 127 d6e-
۲0 32767 موه -
وت هنت تب هواس شتا
2147483647
5 ,. 666 , 6/26 ,06© , 666 ae
to 609
9,223,372,036,854,775,80
7
Size
ley mo)
لان
bit Se
bit of
Type
Byte
Short
۱۳
Long
صفحه 15:
Floating Point Type (©
Value that can
be stored
1.4E-45 to 3.4E+38
4.9E-324 to
Ay =e lel)
512
Type
Float
Double
براى ذخيره كردن كاراكترها از 611317 و براى ذخيره كردن داده
های منطق از ۵۵۱6۷ استفاده م شود.
صفحه 16:
Class Type : متغير نوع كلاس
Variable
ا ا eee EC eee een MES
تعریف شود. به مثالهای زیر توجه کنید.
7’String lastname = “Walsh
;Color hair
* وقتی یک متفیر از نوع کلاس تعریف می شود. آنگاه این متغیر
Capen is Pee Cpe Carel 6 Pepe eee HF 7 1
Care oat be ا fpr) Carel Cece CeCe
دارای سه زیر کلاس با نامهای ۸۵00۱6,۳6۵۲ یا . .
ل 00
1g a0 |g ل ا crop Pee
كلاس 8 Bee
صفحه 17:
نکته
0 a Pee nee pe id
این متغیر می تواند به هر شیء اشاره نماید.
ا ا +4+C
SET g) ا ال ل ۳
جدیدی تعریف نمایید
صفحه 18:
PST Tails MC LEC oe pee OBL Re ered
Variable
* اختصاص مقدار به متفیرها به صورت زیر می باشد.
;ldCode = 8675309
;snappyDresser = false
صفحه 19:
Comment : obwdgi
جهت افزايش خوانايى برنامه از توضيحات استفاده مى
شود. در زبان جاوا دو روش برای افزودن توضیحات به
برنامه وجود دارد.
در ابتدای خط از علامت // استفاده می شود.
int creditHours = 3; //Setup credit hours for
Cool et)
صفحه 20:
Comment : obwdgi
Pp eopee ts) Se il
. ابتدا و انتهای آنها به ترتیب از علامتهای ا شود
This program was written late at «/
night under the influence of expired
antihistamine medicine and generic
supermarket soda. | offer no
warranties express nor implied that
works for any useful purpose
/x whatsoever
صفحه 21:
۱2 J
AR Foe are Rwy Pe gee eS aL
PER SEES Pe re ee ene en ا
prow gee ee CEM T DeO Ee CBee AF
;int year = 1998
صفحه 22:
لیترال عددی
La زبان جاوا لیترالهای عددی متفاوتی دارد. برای مثال عدد
Pe SEC Sl ee eee لت
jint pennyTotal = 4
;byte pennyTotal = 4
;short pennyTotal = 4
;long pennyTotal = 4L
صفحه 23:
نكات
0 ا ل ل ا ا ا ل Di
ا ا ا acy
اگر بخواهیم اعداد را در مبنای ۸ یا ۱۶ در نظر بگیریم. قبل از عدد *
يا “0 درج مى كنيم. براى مثال اكر ٠ مورد نظر به ترتيب
CODER ل rey
در نظر ١2 تايب مى كنيم. و اكر بخواهيم مبناى را ٠ صورت /ا/ا/1
بكيريم عدد رابه صورت 0611 يا 01612 تايب مى كنيم.
Cee ا ا ا ا cn tee ad
صورت زير عمل می کنیم.
;int pennyTotal = -4
صفحه 24:
ols
۱۳ eee Paolo) (Melee nes eet) peo ect
eee aS ECD ae eee EE ee BCe NT
Pec me ype ier) 3
;double myGPA = 2.25
;float piValue = 3.1415927F
۱ TRUST oe ADIT Sa Ke perl Peewee CO hal
به صورت زیر عمل نمایید.
;double x = 12e22
;double y = 19E-45
صفحه 25:
ee pad
pyeee ea X-mas Bee] pore oe
به صورت زير تعريف مى شوند.
;boolean toThineOwnself = true
لیترالهای کاراکتری
|
char letter = ’3
?char letter =’a
صفحه 26:
كاراكترهاى خاص:
Meaning
New Line
Tab
Backspace
Carriage return
|
Backslash
Single quotation mark
Double quotation mark
Octal
Hexadecimal
Unicode character
Character
للد
i
b\
لها
آنا
i
‘
1
لك
۱
ud\
صفحه 27:
لیترالهای رشته ای
* این نوع لیترالها به صورت زیر ذکر می شوند.
String coauthor = "Laura Lemay, Killer of
;"trees
String example = “Socrates asked, \’Hemlock
7”"\?is poisson
String title = “Sams Teach Yourself Java ina
;’3-Day Weekend\u2122
170۱ ل ل ا ON Sid
خاص در اين نوع ليترالها استفاده كرد.
عبارت ۱2122۱ کد سمبل ۲۷ می باشد. *
صفحه 28:
عملگر ها:
Bae POTN ee] ee Pe Pes ee pene sere pCO
مى باشند.
Operator | Meaning Example
هبو Addition +
كت اب ور ات -
ba Multiplicatio foe)
م
Division 1/۳ /
لات Modules 0
ار 0 ۳۳7
۸
1
۳
صفحه 29:
عملگرهای مقایسه ای
9 هاى 3 م ۳
1 ا ا
;boolean unusual = (age < 21) & (brotherAge >78)
به جای »6 از :66 هم می توان استفاده کرد. تفاوت دو عملگر فوق در
این است که عملگر 6 هر دو عملوند را در نظر می گیرد. ولی عملگر
ی ۱
Es Peet cine ۱
;Boolean unusual = (grimThoughts>10) || (brotherAge>78) =
صفحه 30:
و
meee 4g (- 0) ل ل |
حل ۳۳۳
و ۳
۳
شود.
صفحه 31:
تقدم عملکرها:
eM Te SEO oe SOc Seal
عملكر
0
0006
%,1,*
قرتيب
د | 0 |0 ١ه
صفحه 32:
يت
BR eo 2 ا ا
Pe ea OO Ce Cae NDS Eero ere PCy
ایجاد اشیاء استفاده می شود. برای این منظور از عملگر
دا
class_type object_name = new class-
(۷
;0String teamName = new String
3(0Random randinfo = new Random
;Point pt = new Point(0,0)
صفحه 33:
مثال:
simport java.util.Random
} class RandomNumbers
public static void main(String
} arguments[])
;Random r1, r2
;Orl = new Random
System.out.printin("Random value 1: "
;+ r1.nextDouble())
3r2 = new Random(8675309)
System.out.printin("Random value 2: "
;+ r2.nextDouble())
۱
0
صفحه 34:
ols
كلاس 18313610113 در حالت يبيش فرض(بدون آركومان) زمان ""
جارى سيستم را به عنوان آركومان درنظر مى كيرد.
00 Prone etree ا ل
بزرگ استخراج می ا ا 0
عل تت اع يك :02
1 ا ا
می سازد. که هميشه دارای 57
Bye ree) I eke On Le CR) bbe
en ae ele a] Cer Rew ley Coy)
صفحه 35:
نكات
* اگر بخواهید عدد ایجاد شده توسط کلاس ۵۱۱00۲۷ را به
عدد صحیح تبدیل کنید به صورت زیر عمل می نمایید.
3Q0Random r1 = new Random
jint number = (int)(r1.nextDouble()*12)
* در این صورت مقدار متغیر ۱۷۱۲۱۵6۵۲ عددی بین ۰ و ۱۱
خواهد بود.
صفحه 36:
نكات
ا ل |
شود :
Bye es ng) Pee CECT oes
ee ee] See soe eRe epee a L-C Le et a
می یابد.
هو ری ۱۳
شود.
صفحه 37:
نكات
* متد ۵۳۱5۲۷0۲ متدی است. که برای ایجاد و مقدار دهی
اولیه نمونه های یک کلاس استفاده می شود. متد
50501 شىء جديد و متغيرهايش را مقدار دهى مى
eesecy ا ا ا ل eS Pe deca OL
Pe SCs ape Pen eer eee Belen e3]|
DT ete) رز
Ren ee ل PrP n Oe) iti 4 gb (ol ve) ante des
آر گومان متفاوت تعریف کرد
صفحه 38:
00
۱
و ۱
اعمال وجود ندارد.
;import java.awt.Point
} class SetPoints
} public static void main(String arguments[])
;Point location = new Point(4, 13)
;System.out.printin("Starting location:")
;System.out.printin("X equals " + location.x)
;System.out.printin("Y equals " + location.y)
;System.out.printin("\nMoving to (7, 6)")
jlocation.x = 7
jlocation.y = 6
;System.out.printin("\nEnding location:")
;System.out.printin("X equals " + location.x)
;System.out.printin("Y equals " + location.y)
1
1
صفحه 39:
Pe CA | gee ey
"" همان طور كه ملاحظه كرديدء متغير كلاس متغيرى است. كه
ال ا ا ۱9
متغير براى تمام نمونه هاى كلاس ثابت است. در واقع تفاوت اين
Neen a ا ل Soe
متغیرها در یکی از نمونه های کلاس تغییر کند. این تغییر مقدار
به تمام نمونه هاى ديكر اعمال مى شود, در حالى كه در مورد
متغيرهاى نمونه اين طور نيست.
۲ ووواعز
static String surname = “Igwebuike
;String name
تا 1
1
صفحه 40:
نکات
NES) CMTC Seto iene E RON Sth 0 1[
می کنیم.
FamilyMember dad = new
: (۳ ۲
System.out.printin(“Family’s surname
sis :” + dad.surname)
System.out.printin(“Family’s surname
jis :” + FamilyMember.surname)
صفحه 41:
نکات و منال
* فراخوانی متدها نیز مانند فراخوانی متفیرها می باشد.
class CheckString }
public static void main(String arguments[]) }
مأ عناء أاعط الأينا ١ رع]ذا اعم باحصا صل كيتكت
مها فصق ماع كر
Ce} 9 5۷5۲۵۳۰۵۵۰۵۳۱۵۱۱
string: " + str.length()) ۶ )5۷5۲۵۳۰۵۵۰۵۲۱۵۱۸
Wie ea badly ue character at position 7: " +
jstr.charAt(7))
System.out.printin("The substring from 24 to 31: " +
;str.substring(24, 31))
System.out.printin("The index of the character x: " +
jstr.indexOf('x'))
رورا رت رک ترا ium ile i
“substring
s(will\": " + str.indexOf("will")"\
System.out.printin("The string in upper case: " +
;str.toUpperCase())
1
1
صفحه 42:
متدهای کلاس
pee eer RED CMT SE Reeds | باشندء از این
oy ee eles eRe ee EDL nls Cee)
مستقیم بر روی نمونه ای از کلاس اثر نگذارد. برای مثال
کلاس 5۲1110 متدی دارد که می تواند انواع متفاوت
داده ای را پپذیرد و نمونه ای جدید از کلاس 51۲1۲9
شامل مقدار رشته اى آركومان ايجاد كند.
;String s1, s2
7"s1 = “item
S1.valueOf(5) = 782
String.valueOf(5) = 382
صفحه 43:
1
درون یک کلاس کاربرد دارند. برای مثال کلاس ۵۲ که
|
OMe at ted Sed oe ۱
موضوع متد (۷1310.103]) را در نظر بگیرید. این متد دارای
bere rows releycay ied) ا Son eee
می گرداند.
ot اي 4 اي تاو ایا ییا یی را
;SecondPrice)
صفحه 44:
4ك 3
SCOPE SB OTe ee eT eT
۲ sus
Nope Cate cng
} public static void main (String arguments{])
2م ,1غم عمزمم
ل
X:200
Y:200
0 غم x:200
Geka ptl; مر عنم
0
00
;System.out.printin(“Point1: “ + pt1.x + “, “+ ptl.y)
PAR its Lie a ا اي oa 28
{
0
صفحه 45:
ی
2 CE Te eee ا
۱۳ eee ed na Cte nee ne ed
: باشد
* تبدیل یک نوع داده ای اولیه به نوع داده ای اولیه دیگر
ا ا ا ا ل
به همان نوع داده اى اوليه
* تبدیل نمونه ای از یک. کلاس به نمونه ای از کلاس دیگر
صفحه 46:
تبدیل انواع داده ای پایه:
ite] ha ا ل ا Pe Pep
کند و عموما جهت تبدیل انواع عددی به کار می رود. روش
انجام عمل تبديل به صورت زير است:
;value (type_name)
He ha)
* نکته: عمل تبدیل نوع در مورد متغیرهای منطقی قابل انجام
مت
0 SES Et rei ed Eee
بازه كوجكتر تبديل كنيد. ممكن است مقدارى از اطلاعات را
از دست بدهید. برای مثال تبدیل نوع 103 به 08 را در
صفحه 47:
10
"" تنها محدوديتى كه براى تبديل اشياء به يكديكر وجود دارد.
ee ل ا ل 7 ار
مرتبط باشند.
0
7 1
رگومان می باشد. آر گومان اول از نوع 00[6 و آر گومان
دوم از نوع ۷۷۲۱610۷ . نمونه های تمام کلاسها را می توان
eases PwC neler COUNT Car 7
|
FileDialog. Dialog sles 51 ulsi (0 9
ترا كرد.
صفحه 48:
تبدیل نوع کلاسها به صورت زیر انجام می شود
مثال:
;)0Employee emp = new Employee
vicePresident veep = new
;(QvicePresident
emp = veep; //no cast need for
;upward use
veep = (vicePresident)emp; //must
35 ۷
صفحه 49:
| MEO rar sn ee
"" جهت تبديل انواع داده اى يايه به اشياء كلاسهايى در زبان
جاوا در نظر گرفته شده است. این کلاسها عبار تند از:
۱۳ ار led
اي لك Rte be ROPE Ted ce aad
داده اى با حروف كوجى اغاز مى شود. عملكرد جاوا در
مورد انواع داده اى يايه و كلاسهاى مشابه شان بسيار متفاوت
است و در صورتی که یکی از آنها به جای دیگری استفاده
[۱ PPE TIN PCCM ereeye
صفحه 50:
روش تبدیل یک نوع داده ای اولیه به شیء به صورت زیر می
باشد
Class_name Object_name = new
;Class_name(Value)
0
ترا وت دزیر ۳
نکته: استفاده از این اشیاء مانند دیگر اشیاء می باشد و هیچ تفاوتی بین آنها وجود
ندارد.
* اگر بخواهید شیء فوق را مجدداً تبدیل به نوع داده ای پایه نمایید. به روش زیر عمل
كنيد.
حالال يي تت لاف ا لل و هت ”0
* مثال:
int newCount = dataCount.intValue(); //returns
4403
صفحه 51:
۹1 9 ols
لا cede li: Reo Cee rete Pe Cd
Sl ae DEL eae ee Re DEA ne eee
Integer_Variable =
;Integer.parseint(String_variable)
000
;’String Pennsylvania = "65000
;int penn = Integer.parselnt(Pennsylvania)
صفحه 52:
Fe Pere Bee) Fe Woe) IP)
1 PTS ae OR EWS Pee
Ree em bbe Men onl Sees
۳ 0 nr ney
۱۳0 برابری خود اشیاء را بررسی می کنند. نه
براى مقايسه مقادير دو شىء بايد توابعى را در بدنه برنامه
تان بكنجانيد.
بت
دو شىء متفاوت اين كلاس داراى مقدار مشابه مى باشند.
PI 9
Beech 2
صفحه 53:
مثال
EqualsTest دوقكء ز
} public static void main(String args[])
;String str1, str2
).str1 = “Free the bound periodicals
:5۲2 2 1
;System.out.printin(“String1: “ + str1)
;System.out.printin(“String2: “ + str2)
System.out.printin(“Same object? “ + (str1 ==
jstr2))
jstr2 = new String(str1)
;System.out.printin(“String1: “ + str1)
;System.out.printin(“String2: “ + str2)
System.out.printin(“Same object? * + (str1 ==
jstr2))
PSS lela لل 1 ea
;str1.equals(str2))
i
{
صفحه 54:
تعیین کلاس یک شیء
8 جهت انجام این عمل به یکی از روشهای زیر عمل می نماییم.
Class_name Object_name = ~<d
;Qobj.getClass().getName
مثال:
;)String name = obj.getClass().getName
Object_name instanceof Class_name -C
مثال:
Swordfish’instanceof String //true“
;Point pt = new Point(10,10)
pt instanceof String //false
صفحه 55:
۱۳ he err)
EST Ea ay as
1
" مثال:
* import java.lang.reflect
jimport java.util.Random
}class SeeMethods
} public static void main(String[] arguments)
;)Random rd = new Random
;()Class className = rd.getClass
;)Method[] methods = className.getMethods
}for (int i = 0; i < methods.length; i++)
;System.out.printIn(“Method: “ + methods[i])
0
{
{
صفحه 56:
آرايه ها
|
۱
اى اوليه يا يك كلاس باشد.
2 Ber eo ا ا
|
"" تعريف يك متغير به عنوان آرايه
* ایجاد یک شیء آرایه جدید و اختصاص آن به متغیرآرایه
1
صفحه 57:
ا بال ت93
Variable
ا ا Pere
لیاوا توت ت۸۰ ات7۱
Fe)
;/String difficultWords
[Point hits
15م أصازار
;Data_type[] array_name-r
مثال: "
;String[] difficultWords
;Point[] hits
;int[] donations
صفحه 58:
ایجاد شیء آرایه
۱
ا تان Dl
ل AD Ae SO) Ed
Data_type array_name = new
;Data_type[Element_number]
مثال: *
String[] playerNames = new
;String[10]
;int[] temps = new int[99]
صفحه 59:
oS 9 مثال
Ferrell |
Pep) meee dpe ey ete SEM nC be el eee eee
مذکور عبارتند از:
ا 220
id 1 ا Peer
ا ا ۱
الل 0
1
Bye 7 conte
;Data_type array_name = {Valuel1, Value2, ... }
"ا مثال:
String[] chiles = {‘jalapeno’, “anaheim’,
;‘serrano’, ‘habanero’, “thai’}
صفحه 60:
1 ا ied
} class ArrayTest
String[] firstNames = { “Dennis”, “Grace”, “Bjarne”,
;‘James’” }
;String[] lastNames = new String[firstNames.length]
( 0۷۵0 ۳۱۵۲۱۱۵۵
لاف
;System.out.printin(firstNames[i]+ ““ + lastNames[i])
pei
;System.out.printin(firstNames[i] + ““ + lastNames[i])
pei
;System.out.printin(firstNames[i] + ““ + lastNames[i])
جد
;System.out.printin(firstNames[i] + ““ + lastNames[i])
i
0
صفحه 61:
public static void main (String
} arguments[])
;)ArrayTest a = new ArrayTest
;)a.printNames
Heo ۱
"a.lastNames[0] = “Ritchie
;"a.lastNames[1] = “Hopper
"a.lastNames[2] = “Stroustrup
;"a.lastNames[3] = “Gosling
;)a.printNames
1
{
صفحه 62:
ela Clar irre recat) Ln
Array
۱ eS SUBS Conse meee O(a rege] See ie
ee eOy oe ene eR eee aT LC eV EET eT)
توانيم آرايه تعريف نماييم كه هر كدام از عناص رآن يك آرايه باشد.
Ce OTe ا ل yt tal
عناصر ان را نشان مى دهد.
sint[][] coords = new int[12][12]
scoords[O][0] = 1; coords [0][1] = 2
صفحه 63:
نکته
۱
صورت عمل می کنیم :
}Qvoid testBlock
tint x = 10
Start of block//}
;int y = 40
22
End of block// {
1
1
صفحه 64:
شرطى ؟!
اا ازاين دستور به دوصورت استفاده مى شود.
if(Condition) -)
56361211
if(Condition)-y
۳۰-۱۰-24
else
۵(
صفحه 65:
مثال
if(age > 39) -d
System.out.printin(“You call
‘that a haicut?”)
if(blindDatalsAttractive == true) -©
restaurant = "Benihanas
else
"restaurant = "Burritohut
صفحه 66:
۱۱
eee el oer ea cael Sry mere eel BEd ORM ee SBP Lr ery
PCRS B Or cestode SEO CO EEY Pe SUES Sle ا
مثال: *
} class EvenSteven
} void evenCheck(int val)
55 وا ب۲ا۹۷)ظ۱۲۱ظ۲۵۳۵۰۵۷۲۰۵۲۱
Hera: es
)۷5۵۱ 2 0(
;System.out.printin(“Steven!”)
7
۱
} public static void main (String arguments[])
;0EvenSteven e = new EvenSteven
ye.evenCheck(1)
ye.evenCheck(2)
ye.evenCheck(54)
ye.evenCheck(77)
ye.evenCheck(1346)
0
صفحه 67:
نکات 9 مثال
Bye eles زير عملكردى مانند ©15[© 16 دارد.
;test ? trueResult : falseResult
BPA DRED] ACL رز
بنویسید؟
int ourBestScore = myScore > yourScore ?
myScore : yourScore;
int ourBestScore;
if(myScore > yourScore)
outBestScore = myScore;
else
;ourBestScore = yourScore
صفحه 68:
ST el se eee)
By Ey ل
}switch(Variable)
:case Valuel
۳۱۰۰۱» فروات یوت
j;break
:case Value2
۳۵۰۰۱ فقوت بوت»
۲ کات و۰
:case Value3
Aye bayantel
;break
:default
۳۱۰۰۱» فروات یوت
i
1
صفحه 69:
منال
}switch(grade)
"case ‘A
;System.out.printin(“Great job — an A!”)
sbreak
case ‘B
;System.out.printin(“Good job -- a B!”)
;break
"case ‘C
;System.out.printin(“Your grade was a C.”)
sbreak
Melia
System.out.printin(“An F — consider
; Cheating”)
1
صفحه 70:
مثال
و
}switch(oper)
Fema ot 1-1-1
j;addargs(arg1, arg2)
j;break
6
;mulargs(argl1, arg2)
;break
?‘case
;subargs(arg1, arg2)
j;break
?/‘case
;divargs(argl1, arg2)
j;break
1
صفحه 71:
نکته
7
۳
شد.
ا ا ا ا ا ل 000
زيرعمل مى كنيم.
Switch(x) }
2 6وج2»:
00
ات ی
ال
ات ره( ارات ترا “)1712م عناه. تارعؤ 5لا5ر
jbreak
;default: System.out.printin(“x is an odd number’)
1
۱
صفحه 72:
Jl
} class NumberReader
} String convertNum(int val)
} switch (val)
“case 0: return “zero
“case 1: return ‘one
“case 2: return “two
“case 3: return “three
“case 4: return “four
“case 5: return “five
;“ case 6: return “six
“case 7: return “seven
;“ case 8: return “eight
;“ case 9: return “nine
““ default: return
if
{
صفحه 73:
public static void main (String
2۱ریت كوت
NumberReader n = new
لت تا(
String num = n.convertNum(4) +
n.convertNum(1) +
;n.convertNum(3)
System.out.printin(“413 converts to “ +
;num)
{
صفحه 74:
دستور ۴۵۲
[0
for(Initialization; Test; Increment)
۱
i
(۱ ۰۲
1
صفحه 75:
.
} class NamesLoop a)
;String[] firstNames = { “Dennis”, “Grace”, “Bjarne”, “James” }
;String[] lastNames = new String[firstNames.length]
} Qvoid intNames
for (int i = 0; i < firstNames.length; i++)
;System.out.printin(firstNames[i] + ““ + lastNames[i])
1
} public static void main (String arguments[])
;0NamesLoop a = new NamesLoop
;0a.printNames
1
4
(5۷6
lastNames[0] = “Ritchie
lastNames[1] = “Hopper
lastNames[2] 5۲0۵5۲۲۵
lastNames[3] = “Gosling
;0a.printNames
۱
1
صفحه 76:
لان
* دستور ۷۷۱۱۲۱6 به اين صورت است.
}while(Condition)
۳۰-۱۰-24
0
صفحه 77:
Jl
( عانط لالاراج عظلامه»© ددقك
} public static void main (String arguments[])
jint[] arrayl = { 7, 4, 8,1, 4,1, 4}
;float[] array2 = new float[array1.length]
Pete Tumel im lel فا he ee i)
(۲0۲ )۱8۲ ۱ < 0: 1 > 2۳۲۵۷1۰۱6۱9: 1++(
;System.out.print(array1[i] + ““)
{
elite) يت 1 1د 0 ل"
;System.out.print(“array2: [ “)
۱0] 0۷۲ 2 0
} while ( count < array1.length && array1[count] != 1)
jarray2[count] = (float) array1[count]
;System.out.print(array2[count++] + ““)
1
RGM SS Aum ie لل
0
صفحه 78:
2۰۳۱ iy err)
ا ۱
}do
۳۰-۱۰-24
s;while(Condition) {
صفحه 79:
Slo
} class DoTest
ublic static void main (String arguments[])
jintx =1
}do
a round “ +
34
3000“
jwhile (x <= 10) {
{
{
صفحه 80:
نکته
while , do...while ol" در این است که
Fw Ree Ae peeaee hil (= eyes)
Pa pea eon es pyran) ran ees CRS E I TIES pe
شوند. ولی دستور در انتهای حلقه00...۷۷۱۱]|6
gy! ply eS (go Lyx |p bpd 1
...010 حداقل یک بار اجرا می شوند.
صفحه 81:
Break jgwe
* از این دستور برای خروج از حلقه در شرایط خاص
استفاده می شود.
sint count < 0
}while(count < userDatal.length)
if(userData[count] == 1)
sbreak
userData2[count] =
3(float)userDatal[count++]
1
1
صفحه 82:
ت۱۱
Ree pe Eee keep exc Lt peel ee Te B i
استفاده می شود.
۳] count = 0
jint count2 = 0
}while(count++ <= userDatal.length)
if(userData[count] == 1)
;continue
userData2[count2++] =
3(float)userDatal[count]
i
صفحه 83:
مثال
غأد5ع1اعطق ا وذقكء (
public static void main (String arguments[]) }
:thisLoop
for (int i = 1; i <= 5; i++)
}for (int j = 1; j <= 3; j++)
;System.out.printin(‘l is “ + i + “, j is “ + j)
)4 > (ز + 1)) ]1
;break thisLoop
{
;System.out.printin(“end of loops’)
{
{
صفحه 84:
تعریف کلاسها
"" به اين خاطر كه اساس برنامه نويسى جاوا بر يايه كلاسها
ل ا ل لا ل Sent
كرديد. در اين قسمت مى خواهيم جزئيات اين كار را
بررسی کنیم.
}Class Class name
body of the class//
t
صفحه 85:
نکته
COLD eT ل ae)
مى باشند. اكر بخواهيم كلاسى زيركلاس» 0 © ©+
کلاس دیگری باشد. باید از عبارت زیر استفاده کنیم:
Class Subclass_name extends
}Superclass
body of the class//
1
1
صفحه 86:
تعريف متغيرهاى ذمونه
۱
enor ere te Bean Come ey ea ۱
oe et eRe eRe) ROSES) Suc SUE car)
SSSI See Sec od
* مثال:
۲ وووا (
sint studentNo
;String name
1
صفحه 87:
ثوابت
ا ا اا ا ل
برنامه تغییر نکند. از ثوابت استفاده می کنیم.
final Data_type Constant_name =
sValue
* مثال:
‘final float Pl = 3.141592
صفحه 88:
نكات
00 peeve Peal peor
متغیرهای نمونه و متغیرهای محلی را می توان به صورت
ل
ا 02
خوانايى برنامه مى شود. به علاوه باعث كاهش تغيير در كد
PS 0
می شود.
;final byte MAX = 100
صفحه 89:
0
| ا COBURG ES Tad
كلاس مقدار يكسانى دارند.
;Sstatic Data_type Variable_name
sstatic int sum
0 eRe ا a
عبارت زير استفاده می کنیم.
static final Data_type Constant_name =
;Value
;static final int MAX = 10
صفحه 90:
تعریف متدها
۱
ی نام dio
" نوع شیء يا نوع داده ای اولیه ای که متد باز می گرداند.
"" آركومانهاى متد
tes 0
Data_type Method_name(Data_typel
targ1, ...)
body of the method//
1
صفحه 91:
نکته
"" نكته: اكر مقدار بازكشتى يك آرايه باشد.ء تعريف متد به
ee eeL od ۱
Data_type[]
Method_name(Data_typel1
targl1, ...)
body of the method//
1
1
صفحه 92:
Jl
( کود60۱ ۵۱9 ععواء
}int[] makeRange(int lower, int upper)
jint arr[] = new int[ (upper — lower) + 1]
} for (int i = 0; i < arr.length; i++)
jt+arr[i] = lower
{
jreturn arr
} public static void main(String arguments[])
Aa eee hg
;)RangeClass theRange = new RangeClass
jtheArray = theRange.makeRange(1, 10)
;System.out.print(‘The array: [ “)
Pacer Ci) a mek) theArray.length; i++)
;System.out.print(theArray[i] + ““)
AGM OUR s delat
{
صفحه 93:
کلمه کلیدی 1۳۱۱5
ل ا ا ا
deren) ا ا ل 0
eS] ا ل ۳
t = this.x; //The x instance variable for this
object
this.resetData(this); //Call the resetData
method, defined in
this class, and pass it the//
current object
return this; //Return the current object
صفحه 94:
زک
wel موارد نيازى به ذكر كلمه كليدى 5 نمی باشد.
برای مثال جهت دسترسی به متفیرها و متدهای نمونه
نیازی به ذکر کلمه کلیدی 1015 نمی باشد.
7 4
s;resetData(this)
صفحه 95:
مجدوده متغیر ها
SNe Spee a eon lS Pen ST EC Ste
دیگری در آن قسمت قابل استفاده می باشد. محدوده
0 Mey PP CMe BCT CONT ger s7)
| Sere conor] pel eee e]
متغيرهاى نمونه و كلاس استفاده كنند.
ا Fe) Peng bel eye epee CS Pen gee og
تعریف آن به عنوان متفیر محلی می گردد. اگر چنین تعریفی
۱
متغير كلاس در همان كلاس خواهد كشت,. و در نهايت كلاسهاى
ا ل ا ا كك
صفحه 96:
۱
}class ScopeTest
jint test = 10
۱۲۱۳ ادن ela ki
jint test = 20
;System.out.printin(“‘test = “ + test)
0
} public static void main(String arguments[])
;)ScopeTest st = new ScopeTest
:)(5۰۳0۲۱۳۱۲۲ اوه
{
0
صفحه 97:
ارسال آرگومانها به متدها
۱
۵ کطعودا |
([901:ة غمت)ممع2مغعمه غمار
0 دغصيم غمار
eae A ats aes) غمة) ممع |
if (argfi] 1) }
فلیاایی ۳۳۳
0 2 [2۲9]1:
غزنامء روز یت وا
1
public static void main(String arguments[])
int arr[] = { 1, 3, 4,5, 1,1, 7
;0PassByReference test = new PassByReference
‘int numOnes
;System.out.print(“Values of the array: [ “)
Um cua i < arr.length; i++)
;System.out.print(arr[i] + ““)
1
صفحه 98:
Gi Lume leila)
jnumOnes = test.onetoZero(arr)
Senne ee of Ones
+ numOnes)
aan out.print(“New values of the
jarray: [ “)
} for (int i = 0; i < arr.length; i++)
;System.out.print(arr[i] + ““)
۲
(9 atalaial
{
* نکته: ارسال اشیاء و آرایه ها به متدها با روش فراخوانی با
ارجاع و ارسال انواع داده ای پایه به صورت فراخوانی با
مقدار است.
صفحه 99:
متدهاى كلاس
ا ا اا ا م
SE ACSC CENT END CR EEDICS ا FoR SOD
pee nee ae eA] OS eee aie) BIS) Fo TB) 000
و SSE
Is 0 اا Ber
ere De ee ep) rome be Cae eecee Sor Scene py
cre SSE) S EC MUY DD
;float root = Math.sqrt(453.0)
System.out.print(“The larger number
((/ا,)ت21.طغدالز + ” دار
صفحه 100:
A
02005000 =) - 1 ( oY SON ا
می کنیم.
static Data_type
}Method_name(Data_typel Arg1, ...)
Body of the method//
۱
و
}static int max(int arg1, int arg2)
Body of the method//
1
صفحه 101:
ايجاد متدها با يك نام و آركومانهاى متفاوت : را
Overloading
Se PCS eee eS EE deel aCe Ser)
تعداد آركومانها ""
نوع داده اى و اشياء متفاوت به عنوان آركومان !"
1 ا et ا
000 ee EL ORCI ا
لا نکته: توجه داشته باشید که متدهای دارای نام مشابه بايد مقدار
باز گشتی یکسان داشته باشند. در غیر این صورت برنامه جاوا
كاميايل نخواهد شد.
صفحه 102:
eS
jimport en
}class MyRect
=0
=0
=0
=0
MyRect buildRect(int x1, int y1, int x2, int
12
;jthis.x1 = x1
;this.y1 = y1
sthis.x2 = x2
;this.y2 = y2
Mata gol wal)
1
صفحه 103:
MyRect buildRect(Point topLeft, Point
} bottomRight)
;x1 = topLeft.x
;3y1 = topLeft.y
;x2 = bottomRight.x
2ل Solaire لا
تلك تيه
if
i lin buildRect(Point topLeft, int w, int h)
;>x1 = topLeft.x
;3y1 = topLeft.y
5x2 = (x1 + w)
sy2 = (y1 + h)
Maida dale
1
صفحه 104:
(0(۷۵۱ ۲
;System.out.print(“MyRect: <” + x1 + “, “+ yl)
;System.out.printin(‘, “+ x2 + “, “+ y2 + “>”)
{
} public static void main(String arguments[])
;0MyRect rect = new MyRect
System.out.printin(“Calling buildRect with
;coordinates 25,25, 50,50:”)
srect.buildRect(25, 25, 50, 50)
;)rect.printRect
(****)System.out.printin
System.out.printin(“Calling buildRect with
;points (10,10), (20,20):”)
rect.buildRect(new Point(10,10), new
;Point(20,20))
(>
صفحه 105:
لیاف از ریت ز/ ات ۳
System.out.print(“Calling buildRect
swith 1 point (10,10),”)
System.out.printin(“ width (50) and
sheight (50):”)
rect.buildRect(new Point(10,10), 50,
;50)
;Qrect.printRect
لیاف اریز ات ۲
{
if
صفحه 106:
و ل ةف
* متد سازنده متدی است. که در زمان ایجاد یک. شیء از کلاس
فراخوانی می شود. بر خلاف دیگر متدهاء متد 0۵۷۷ سازنده را
نمی توان مستقیماً فراخوانی کرد. متد سازنده هنگام استفاده از
ا 00
* نکته: اگر متد سازنده در یک کلاس وجود نداشته باشد. باید
متغيرهاى نمونه را خودتان مقدار دهى كنيد. انجام اين عمل با
فراخوانى متدهاى ديكر قابل انجام است.
صفحه 107:
نكته 9 مثال
* نکته: متد سازنده دارای دو تفاوت عمده با متدهای دیگر می
ل ل ل لق
۱
دیگر را خودمان تعیین می کنیم.
ey BEES ABI CMIbC OE Se] OTE SCo
* مثال:
class Person }
;String name
تا
Person(String n, int a) }
;name =n
صفحه 108:
حا
i
} Qvoid printPerson
System.out.print(“Hi, my name is * +
;name)
Sr ای lam “ + age + “ years
} public static void main (String arguments[])
;Person p
;p = new Person(“Luke’, 50)
;0p-printPerson
Hee yield Salida)
صفحه 109:
)35 رهز وت ات۲۰۳
وروت روز ۷0۱۰۳
لم ا ل Hem
{
0
صفحه 110:
فراخوانی یک مند سازنده توسط متد سازنده دیگر
و |
ار
۲ متال:
}class myCircle
5 30: ,لا ,كا ضار
myCirlce(int xPoint, int yPoint, int rediusLength)
= xPoint
لل
ree radius = radiusLength
i
eater ieee 9}
;jthis(xPoint, yPoint, 1)
1
i
صفحه 111:
مثال
jimport java.awt.Point
} class MyRect2
‘int x1 = 0
jint yl = 0
nt x2 =0
:۱۱ ۷2 < 0
} MyRect2(int x1, int y1, int x2, int y2)
sthis.x1 = x1
sthis.y1l = y1
sthis.x2 = x2
Ad) en 2
1
صفحه 112:
}MyRect2(Point topLeft, Point bottomRight)
;x1 = topLeft.x
yl = topLeft.y
3x2 = bottomRight.x
۷2 << ۷
} MyRect2(Point topLeft, int w, int h)
x1 = topLeft.x
sy1 = topLeft.y
x2 = (x1 + w)
sy2 = (yl + h)
if
صفحه 113:
بت یایاوز ۱۲0۵۰
abana ا >" + 01 ۲ oF
022
۱ الل ل
“SP
ublic static void main(String arguments[])
;MyRect2 rect
ودرا ایا ۳ ند
;coordinates 25,25 5 chat
jrect = new ی 25, 50,50)
ets
i(**“)System.out.printin
صفحه 114:
System.out.printin(“Calling MyRect2 with points
3(10,10), (20,20):”)
rect= new MyRect2(new Point(10,10), new
;Point(20,20))
;Orect.printRect
A ele ule lel ata a)
System.out.print(“Calling MyRect2 with 1 point
3(10,10)”)
System.out.printin(* width (50) and height
:)50(:(
jrect = new MyRect2(new Point(10,10), 50, 50)
;Orect.printRect
i(***“)System.out.printin
if
if
صفحه 115:
Overriding Methods
* اگر دو متد دارای نام. مقدار باز گشتی و آر گومانهای یکسان باشند و کی از
متدها در کلاس والد و دیگری در کلاس فرزند باشد. متدی که در کلاس
* مثال:
Super Class//
درل ماعط pel
intx =0
jinty =1
(void printMe }
;System.out.printin("x is "+x +", yis" + y)
دوهی ریا ییا Weim im eels
+"class
i(()this.getClass().getName
1
صفحه 116:
Sub Class//
class PrintSubClass extends PrintClass
sint z= 3
public static void main(String
} arguments[])
PrintSubClass obj = new
00۳۲۱۳۲5 ty
;Qobj.printMe
0
i
صفحه 117:
Overriding Construcror
jimport java.awt.Point
} class NamedPoint extends Point
;String name
} NamedPoint(int x, int y, String name)
;super(x,y)
;this.name = name
i
0
* مثال
} public static void main (String[] arguments)
;NamedPoint np = new NamedPoint(5, 5, "SmallPoint")
;System.out.printin("x is " + np.x)
;System.out.printin("y is " + np.y)
;System.out.printin("Name is " + np.name)
i
0
1
i
صفحه 118:
متد خاتمه دهنده: ۱6۲0۵ ۴۳۱۱۱۵۱۱26۲
ا ا ا ا
ا ا Se NL ed bee Md od
Protected void finalize() throws
} Throwable
;(Super.finalize
1
صفحه 119:
Applet: cu
Spee Snore Me eat eligy
اجرا مى شوند. تفاوت ايلتها با برنامه هاى كاربردى
GB dol py alg gle 6 0925 29 Igle
کاربردی با درج نام برنامه در خط فرمان اجرا می
Pel EST See ene et Ree Bere)
صفحه 120:
محدودیتهای ابلتها
۱
آن بنویسند.
* اپلتها نمی توانند با هیچ سایتی غیر از سایتی که از روی آن
pcyem eg Pee ee nea Ca ۱۳۹[
eee Bree errs DIC Cee oe eee) aA
US |yol 35 nS
* اپلتها نمی توانند هیچ برنامه ای را در سیستم سرویس
دهنده اجرا کنند.
صفحه 121:
فحنت
"" براى ايجاد يك ايلت به صورت زير عمل مى كنيم.
public class Applet_Name extends
اك لت 2۷2[
Applet Core Comes Here//
i
| eeier tefl
صفحه 122:
5-0007
۱۱
"متد 5131۲1
2
destroy..."
paint..."
صفحه 123:
متد 1011
* اين متد در زمان فراخوانی اپلت اجرا می شود. این متد
اعمالی نظیر ایجاد اشیاء مورد نیاز اپلت. تنظیمات اولیه.
ا ا ۱۳
دهد.
}Qpublic void init
Core here//
1
1
صفحه 124:
متد 561۲۱
"" يس از متد 11111 اين متد فراخوانى مى شود. اين متد
Con Care eC) ا 1 كل
است.
}Qpublic void start
Core here//
1
صفحه 125:
متد م 510
"" اين متد اجراى ايلت را متوقف مى كند
}Qpublic void stop ®
Core here//
0
صفحه 126:
Destroy rn
Pees) RNG?) rea tLe ane ا De
eect pe aey eae re ep ren ace
ل لت للك
0 ل a =1- Lo igen
كردن اين متد وجود ندارد. override
}Qpublic void destroy
Core here//
1
صفحه 127:
متد ۳۵۱۱۱۲
"" اين متد نحوهى نمايش ايلت را كنترل مى كند. به كمك
اين متد مى توان متن. خطوط, رنكّه يشت زمينه و تصاوير
Bel D) ا ا ل 0
مى شود. هر كاه ايلت نيازمند به روز رسانى باشدء اين متد
مجددا فراخوانى مى شود.
}Qpublic void paint
Core here//
1
صفحه 128:
مثال
JAVA FILE
mport java.awt.Graphics
mport java.awt.Font
jimport java.awt.Color
public class Palindrome extends java.applet.Applet
i
Font f = new Font("TimesRoman", Font.BOLD,
)36;
public void paint(Graphics screen) }
jscreen.setFont(f)
;screen.setColor(Color.red)
screen.drawString("Go hang a salami, I'm a
jlasagna hog.", 5, 40)
if
{
صفحه 129:
|B لكك
<HTML>
<HEAD>
<TITLE>The Palindrome Page</TITLE>
<HEAD/>
<BODY>
:P>My favorite meat-related palindrome is>
<BR>
APPLET CODE="Palindrome.class" WIDTH=600>
<HEIGHT=100
!A secret if your browser does not support Java
<APPLET/>
<BODY/>
<HTML/>
صفحه 130:
APPLET .S
eR R SCI 11 Meh 0 5 ee
ee Oa EES EES woe ES) oe ney Ren) tr
Rey er W nee pean خصيصه لتر ا !"
ا ل ا ل ل 6
9
صفحه وب. اين خصيصه مى تواند يكى از مقادير زير باشد.
صفحه 131:
2
یص ۸۱۱6۱۱
زرد
RIGHT
TEXTTOP
عاطصط ا لادظقم
MIDDLE
BASELINE
BOTTOM
ABSBOTTOM
صفحه 132:
نکته
<BR CLEAR = LEFT>
SIS Bp Ree Renn Catone tl
<BR CLEAR = RIGHT>
اولین فضای خالی سمت راست را در نظر می گیرد. ۴
<BR CLEAR = ALL>
اولين فضاى خالى را در نظر مى كيرد. ""
صفحه 133:
۰ 4 ol خصايص
" تعیین میزان فاصله ی متن اطراف اپلت از آن. خصیصه
HSPACE كنترل فضاى افقى(سمت حب و راست) و
ايلت را انجام مى دهد
یل(
APPLET CODE = “ShowSmiley.class’>
WIDTH = 45 HEIGHT = 42 ALIGN =
<LEFT VSPACE = 50 HSPACE = 10
Required Java
<APPLET/>
صفحه 134:
خصایص 600۴ و 609۵۴8۵5۴
0 CRN Lier Seb eater ial
PHM Cae ACYL 0) >) ir eeeeans REESPORE TE
yly5 puso CODEBASE twas 9 355 (oo est Ly
كرفتن فايل كلاس يايه را تعيين مى نمايد.
"" نكته: در صورتى كه از خصيصه 8/8.56 1 605 به
همراه خصیصه ]60 استفاده نشود. مسیر قرار گرفتن
Pret ge pas pc pene are oe on Lege CALC)
خواهد بود که اپلت درون آن قرار دارد
صفحه 135:
5
APPLET CODE = “Bix.class” HEIGHT =>
<“40” WIDTH = “400’> </APPLET
APPLET CODE = “Bix.class” CODEBASE>
= “Toshire” HEIGHT = “40” WIDTH =
<“400’> </APPLET
APPLET CODE = “Bix.class” CODEBASE>
“http://www. Toshire.com/javaclasses”
HEIGHT = “40” WIDTH = “400’>
<</APPLET
صفحه 136:
Object تىق
Peon لل | CON Mca
ICU ا ا ae
داشت.
OBJECT CLASSID = “java.bix.class’>
CODEBASE = “javaclasses”’ HEIGHT
<’= “40” WIDTH = “400
<OBJECT/>
صفحه 137:
كلاس Graphics
1
ی ]2۷3.3۷4[ قرار دارد.
۳
;import java.awt.Graphics
;import java.awt.Polygon
} public class Map extends java.applet.Applet
} public void paint(Graphics screen)
;screen.drawString("Florida", 185, 75)
0
1
صفحه 138:
ترسیم اشکال هندسی
صفحه 139:
ی
yee nC ار 2
0 ل PG emerge) Beye)
(2لإ, 2“)ترسيم مى كند.
;drawLine(x1,y1,x2,y2)
صفحه 140:
جهار ضلعى
امم ا ا ا 2
كنيم. به كمك اين متد مى توان دو نوع مستطيل ترسيم نمود.
cee eT my ona
;drawRect(x, y, width, height)
۲) مستطیل با گوشه های گرد
drawRoundRect(x, y, width, height,
;roundWidth, RoundHeight)
1 IN Sere ES BCT Oe CMB NT Ber ros)
Bye MES ORO UCL ا 4
صفحه 141:
۱ ۱ ۱ را wean belies
فضای داخل آن از متد 010 3۱۱۳6۵۱۷() استفاده می شود.
;int x[] = {10, 20, 30, 40, 50}
sint y[] = {15, 25, 35, 45, 55}
;int points = x.Length
;Polygon poly = new Polygon(x, y, points)
RCras RO ORURe IT TsO CMUSy SCNT pepe 7 ee ne A] ger <i
,*)]2010۳01۳0ز استفاده می شود. ۷(
* نکته: برای پر کردن فضای داخل چند ضلعی از متد 6۱۱۱۵۵۱۷901(
ا 0
صفحه 142:
بیضی و دایره
ا ا الا
براى ير كردن فضاى داخل آن از متد 1/1 111!0()
استفاده می شود.
;drawOval(x, y, width, height)
"" نكته: مقدار 10111لالا و :11©10131! براى ترسيم دايره
برابر است.
صفحه 143:
کمان
7۳ LE WUT gotta erent bis
2 لا eco rel IN CSNY CRUE yy
ge
drawArcs(x, y, width, height,
;start_angle, traveled_degree)
صفحه 144:
Jl
;import java.awt.Graphics
;import java.awt.Polygon
} public class Map extends java.applet.Applet
} public void paint(Graphics screen)
;screen.drawString("Florida", 185, 75)
;screen.drawLine(185,80,222,80)
;screen.drawRect(2, 2, 345, 345)
;screen.drawRoundRect(182,61,43,24,10,8)
int x[] = { 10, 234, 253, 261, 344, 336,
,295, 259, 205, 211
66, 090, ©020, رت ۶۹۱۳۹۱2
19 ie = { 12, 15, 25, 71, 209, 278, 310,
188, 171, 174
©006, ©6, رت تس رات ۱ ۱۶
صفحه 145:
:۱] pts = x.length
;Polygon poly = new Polygon(x, y, pts)
;screen.drawPolygon(poly)
sscreen. fillOval(235,140,15,15)
sscreen. fillOval(225,130,15,15)
sscreen. fillOval(245,130,15,15)
for (int ax = 50; ax < 150; ax += 10)
for (int ay = 120; ay < 320; ay += 10)
screen.drawArc(ax, ay, 10, 10, 0, -
;180)
if
1
صفحه 146:
ols
eee tows ON CNT Be es Bese Reece la mC MT peer cial
Bye Mery na (11X14 ela) NAUK)
copyArea(x, y, width, height,
;horizontal_distance, vertical_distance)
;screen.CopyArea(0, 0, 100, 100, 50, 25)
;clearRect(x, y, width, height)
"" نكته: براى ياك كردن كل ينجرهى ايلت از متدهاى +31156©1 616( به
۰ب ال ا ات
screen.clearRect(0, 0, size().width,
;size(). height)
صفحه 147:
|
Ferd Carta ney Mancoar tie) eyo ye ل SAT Bell
ارسال كرد. اين سه آركومان عبارتند از: 010
نام فونت ""
(Italic. Bold. Plain)cs,3 we ®
سايز فونت ""
مثال: ""
Font f = new Font(“Dialog’”, Font.BOLD +
;Font.ITALIC, 24)
PSN RO T-1 1 ao) tere oa) ا ا pe i
شود.
jscreen. setFont(f)
ا Leo LU EL da Lil: iets Ieee CO ITS Se eR Be Slag
می شود.
صفحه 148:
مثال
jimport java.awt.Font
mport java.awt.Graphics
1۱۳۱۳۵۲ [3۷3.3۷1۳۵۳۵5
} public class SoLong extends java.applet.Applet
} public void paint(Graphics screen)
;Font f = new Font("Courier", Font.BOLD, 18)
;FontMetrics fm = getFontMetrics(f)
;screen.setFont(f)
Sting s = "So long, and thanks for all the
ترفن
nt x = (size().width - fm.stringWidth(s)) / 2
jint y = size().height / 2
;screen.drawString(s, x, y)
{
۹
صفحه 149:
رنک
۱۳9 رز Lote) fo) aerate cae eer Fal
PSSM CH SEES oS e Rees ule)
را تعیین کرد.
صفحه 150:
Color «4
YER Oe) (o] eae RO enV eee SRE Sp Rye HT belies
كنيم: يا از يكى از رنكهاى استاندارد كلاس 60101 استفاده
ل ل ا ا
Color c1 = new Color(0.807F, 1F, ®
;0F)
Color c2 = new Color(255, 204, ®
3102)
صفحه 151:
رنگهای استاندارد
9
;screen.setColor(Color.pink)
;Color brush = new Color(255, 204, 102)
;screen.setColor(brush)
* نکته: برای تعیین رنگ پشت زمینه از متد 160۲01۱۵ 5683) استفاده
می کنیم.
۱۳ o (SetColor 1: ssl (setForeground 4. :4s5 ™
ee eae de Eye rte eR Rane
BOP evel ree ore: AU Cee eee eer ane CAEL iad
کلاس 2۲3۳1۱65 يا متدهای 615561609۲0۷۵ و( 16-۲
0 ل
صفحه 152:
]زو و
* برای ایجاد شیء 62۲۵۵۱۱6520 به صورت زیر عمل
می کنیم.
public void paint(Graphics screen)
1
1
Graphics2D screen2D =
;(Graphics2D)screen
0
صفحه 153:
الكوهاى ترسيم
* الگوهای ترسیم چگونگی رنگ آمیزی و ترسیم یک شیء
را كنترل مى كند. اكر از 21/2210[ استفاده مى كنيد مى
توانید رنگهای ساده سایه روشن. یا دارای بافت را به کار
ببرید. الگوی ترسیم با استفاده از متد 6۳۵۲۴ 5()
در ۱
صفحه 154:
الگوی ترسیم 6۲۵1۱6
او ۳ ترسیم 0۲ دو رنگ متفاوت برای دو
۱
تدریجی یک رنگ به رنگ دیگر پر می کند. اين الگو به
دو صورت 860۷6116 و 6۷11 قابل استفاده است.
صفحه 155:
cul ل
GradientPaint(x1, y1, color1, x2, y2,
scolor2, true)
Romney es eee A eee ee eee Canes ree he Crea
در صورتی که از این آر گومان استفاده شود الگوی ترسیم به
صورت 16اعلا© و در غير اين صورت ©11©>لا©2 خواهد بود.
۶۳7۳ ۳۱ ا ل ا ل
00 ا ا
GradientPaint pat = new
GradientPaint(Of, Of, Color.white,
;100f, 45f,Color.blue)
"Gcraan2N catPaint( nat)
صفحه 156:
نكات
ا ل ا ا |
داشتندء ولى در 231/3210[ مى توان عرض خطوط را نيز تعيين
كرد. براى اين منظور از متد ©>5©151101() و كلاس
ا ل BY
02 رز رل cra
ا
"ا يك مقدار 50131 به عنوان يهناى خط با مقدار ييش فرض يك
Pe Speer Seger ا
"" يك مقدار 1191 براى تعيين حالت اتصال دو خط به يكديكر
صفحه 157:
* عبارات زیر یک شی 88516517016 ایجاد می کند و آن
ENC) a eee) 0
BasicStroke pen = BasicStroke(2.0f,
,BasicStroke.CAP_BUTT
;(BasicStroke.JOINROUND
;Screen2D.setStroke(pen)
صفحه 158:
re
2 sore Ane ae Oe RCN] EO pte ane 8]
Ghd QeUS gpl 2n5 Yo Sy90 Line2D.Float
Bw ا era vl eel res
Line2D.Float In = new
;Line2D.Float(60F, 5F, 13F, 28F)
* نکته: اگر بعد از آر گومانها از کاراکتر ۴ استفاده نشود.
كاميايلر جاوا آنها را به عنوان 1138 در نظر مى كيرد.
صفحه 159:
جهار ضلعى
Rectangle2D.Float ایجاد مستطیل با استفاده از کلاسهای *
roy mee Re repre C14 م ل +) (ae
or eon on er SIRS et CES
9 float «lii.5,1 Rectangle2D.Float
double iil,5,1 Rectangle2D.Double
پذیرد.
۱۳۱ رات | (74 Pl al Cod) aie Ca
و هر یدرز
Rectangle2D.Float rc = new
;Rectangle2D.Float(10F, 13F, 40F, 20F)
صفحه 160:
بیضی و دایره
ا از کلاس
تا WIS
اا و ۱
Wa
Ellipse2D.Float ee = new
;Ellipse2D.Float(113, 25, 22, 40)
صفحه 161:
AIC : كمان
139 (go ooliewl Arc2D.Float oS jl obs stu! ol.
این کلاس دارای هفت آرگومان به صورت زیر می باشد.
Arc2D.Float Object_name = new
Arc2D.Float(x, y, width, height,
Start_degree, Traveled_degree,
;Closing_method)
و
1 Va pie pce eres
Arc2D.Float arc = new Arc2D.Float(27,
322, 30, 33, 90, Arc2D.PIE)
صفحه 162:
جند ضلعى
300 ل ل ا Selene ie
0 ل
;0GeneralPath polly = new GeneralPath
PCC DE ا ل ل tes Ie le
;Polly.moveTo(5F, OF)
سيس با استفاده از متد ©1 ©1117() خطوط مورد نظر را ايجاد مى كنيم. !"
;polly.lineTo(205F, OF)
;polly.lineTo(205F, 90F)
PORE ل on Ee ee
;Qpolly.closePath
صفحه 163:
۹1 9 ols
Oe eine e Eda lil: eo ieee Cent veo eee ent ee
Brewers ean Cer Ld
;*import java.awt
;*import java.awt.geom
} public class Map2D extends java.applet.Applet
} public void paint(Graphics screen)
;Graphics2D screen2D = (Graphics2D)screen
;setBackground(Color.blue)
Draw waves //
;screen2D.setColor(Color.white)
,BasicStroke pen = new BasicStroke(2F
BasicStroke.CAP_BUTT,
;(BasicStroke.JOIN ROUND
صفحه 164:
;screen2D.setStroke(pen)
for (int ax = 10; ax < 340; ax += 10)
} for (int ay = 30; ay < 340; ay += 10)
Arc2D.Float wave = new
Arc2D.Float(ax, ay, 10, 10, 0, 180,
;Arc2D.OPEN)
;screen2D.draw(wave)
if
Draw Florida //
GradientPaint gp = new
GradientPaint(OF,OF,Color.green, 50F, 50F,
;Color.orange,true)
;screen2D.setPaint(gp)
;)GeneralPath fl = new GeneralPath
صفحه 165:
fl.moveTo(10F,12F);
fl.lineTo(234F,15F);
fl.lineTo(253F,25F);
fl.lineTo(261F,71F);
fl.lineTo(344F,209F);
fl.lineTo(336F,278F);
fl.lineTo(295F,310F);
fl.lineTo(259F,274F);
fl.lineTo(205F,188F);
fl.lineTo(211F,171F);
fl.lineTo(195F,174F);
fl.lineTo(191F,118F);
fl.lineTo(120F,56F);
fl.lineTo(94F,68F);
fl.lineTo(81F,49F);
fl.lineTo(12F,37F);
fl.closePath();
screen2D. fill(fl);
صفحه 166:
ار وله
jscreen2D.setColor(Color.black)
;)BasicStroke pen2 = new BasicStroke
jscreen2D.setStroke(pen2)
Ellipse2D.Float e1 = new
jEllipse2D.Float(235,140,15,15)
Ellipse2D.Float e2 = new
;Ellipse2D.Float(225,130,15,15)
Ellipse2D.Float e3 = new
jEllipse2D.Float(245,130,15,15)
jscreen2D.fill(e1)
jscreen2D. fill(e2)
;screen2D.fill(e3)
i
if
صفحه 167:
لا
ا ا 00
است
۱ reed ved ad
* ۲. ارسال دستور نمایش ترسیمات به سیستم نمایش
برنامه
صفحه 168:
کنترل تصاویر متحرک به کمک ۲۵۵0 ]ها
۳
emeese و ۱
وظیفه(۲3851) را درون برنامه اجرا کرد. با قرار دادن کد مربوط
به بار گذاری انیمیشن درون ۲0۲6301 بقیه ی قسمتهای برنامه
ne ee wel See reeI Co) Re Be ww 0
ديكرى را انجام دهند.
* برای نوشتن اپلتها با استفاده از 0۲6۵0 ]ها باید اعمال زیر را
انجام دهیم.
صفحه 169:
ا ال 2 و راز ۱
1۳8۵۱6۴۸۵6۲ ۳۷۳۳۵۳۵۱6 افزودن عبارت *
۲۳۱۲۵۵ ایجاد یک شیء *
۱71۳۳۱ ۱ ات0
2 Threadss-s nulls او
و
2 pe Reeser cmon ep rarer CMO CULL CORE] Mal
شود.
public class AppletName extends
}java.applet.Applet implements Runnable
Applet Core//
1
صفحه 170:
نكات
* کلاس ۲۱۲۵۵0 درون es 33.1309 قرار دارد. به همين دليل
نيازى به استفاده از :111019011 براى باركذارى آن نداريم.
0 الي ا 2 rial
اینجا واسط ل توسط کلاسی که به عنوان ۲۱۲680 عمل
۱ ا
ار 2 وزیا
021116
;Thread runner
Seem Ne re eed LJ ا الي ا CRP SRE EY ere
Pe Pear pew Rolie hee eel Fee ric res eral peed
PCN STO oT mM -1-(0|
صفحه 171:
2 لتم للا
۷۵۱۸ 0۷۵۵۱۱6( [
رای وت رارا )۱۱۱۱
jrunner = new Thread(this)
1(
d
t
* همان طور که ملاحظه می کنید اپلت را به شیء ۲۷1۲۱۲۹6۲ لینک کردیم. این
عمل از طریق کلمه کلیدی 11115 انجام می شود. حال باید متد ۲۱ را به
ايلت اضافه كنيم.
}Qpublic void run
What your applet actually does comes here//
4
صفحه 172:
منال
و 0
فريمهاى مختلف استفاده مى شود. بعد از نوشتن كدهاى لازم درون متد
(STOP seo lawl wb TUN ل 0ت لا
6 نماییم. برای متوقف کردن ۲۱۲630 آن را برابر ا[۲۱
قرار می دهیم.
import java.awt.Graphics
mport java.awt.Font
jimport java.util.Date
public class DigitalClock extends
} java.applet.Applet implements Runnable
تایه زر زرا oe ee للاعم
;Font("TimesRoman",Font.BOLD,24)
;Date theDate
jThread runner
صفحه 173:
۱0 ۰۱
(1۴ )۲۷۸۱۳۵۲ << (لانام
jrunner = new Thread(this)
;Qrunner.start
{
{
} Qpublic void stop
(لانم 2! معمصصسه) عأر
jrunner = null
1
} Qpublic void run
;)Thread thisThread = Thread.currentThread
} while (runner == thisThread)
;Qrepaint
(۳۷
صفحه 174:
;Thread.sleep(1000)
{} catch (InterruptedException e) {
1
{
} public void paint(Graphics screen)
;()theDate = new Date
;screen.setFont(theFont)
screen.drawString("" +
;jtheDate.toString(), 10, 50)
{
0
صفحه 175:
Jl
;import java.awt.Graphics
Mil Sola ۲
jimport java.util.Calendar
public class DigitalClock12 extends
java.applet.Applet implements
( ۱
Font theFont = new
‘Font("TimesRoman",Font.BOLD,24)
‘Calendar theDate
‘Thread runner
} Qpublic void start
صفحه 176:
} if (runner == null)
‘runner = new Thread(this)
فقوت وتا رای و0
{
1
} Qpublic void stop
(اانام <! ۲۷۸۲۴۵۲) ۱۲ (
االالیا ات رارا اوه
1
{
صفحه 177:
} Qpublic void run
Thread thisThread =
;)Thread.currentThread
} while (runner == thisThread)
;)repaint
۱۷
;Thread.sleep(1000)
{} catch (InterruptedException e) {
1
1
صفحه 178:
} public void paint(Graphics screen)
;)theDate = Calendar.getiInstance
sscreen.setFont(theFont)
screen.drawString("" +
;theDate.getTime(), 10, 50)
{
{
صفحه 179:
نكات
* هنگامی که متد ا ا ا 00
را فراخوانى مى كند. متد ©1]001316ا() محتويات صفحه نمايش را ياك مى
ا ا ا اا ا ال
صدا می زند. به همین دلیل نمایش انیمیشن دارای پرش خواهد بود.
"" براى جلو كيرى در يرش تصاوير هنكام نمايش انيميشن دو راه وجود دارد.
" 01/6110 كردزمتد 004201316() به صورتىكه صفحه نمايشررا
ياكفكندياتنها قسمتهايوراا كه تغيير كردهلستياكفمايد.
حاد يت ل 320000
دو كانه (©1111 164لا ©001011) توجه دلشته باشيد كه روِشاول
a eee aed للا 0
صفحه 180:
* متد 0006() یک اپلت در حالت پیش فرض به صورت زیر
است:
} public void update (Graphics screen)
;screen.setColor(getBackground())
screen.fillRect(0, 0, size().width,
;size.height())
;screen.setColor(getForegrund())
;paint(screen)
1
1
صفحه 181:
مثال
jimport java.awt.Graphics
mport java.awt.Color
jimport java.awt.Font
public class ColorSwirl extends java.applet.Applet
}implements Runnable
re f = new Font("TimesRoman", Font.BOLD,
;Color colors[] = new Color[50]
قت ایا هار۱
( نهنا عءناطيام() lad
}if (runner == null)
jrunner = new Thread(this)
;Qrunner.start
1
i
صفحه 182:
} Qpublic void stop
srunner = null
if
sell Comore Mati
initialize the color array //
‘float c = 0
} for (int i = 0; i < colors.length; i++)
colors[i] = Color. 0 aa
;(float)1.0, (float)
7c += .02
1
cycle through the colors //
sinti=0
صفحه 183:
;)Thread thisThread = Thread.currentThread
} while (runner == thisThread)
;setForeground(colors[i])
تلیالتر و۲0
+
۷
;Thread.sleep(200)
{} catch (InterruptedException e) {
jif (i == colors.length ) i = 0
i
} public void paint(Graphics screen)
jscreen.setFont(f)
to the Cookie!", 15, عله 0 ار یی 09915 یی
350
{
0
صفحه 184:
TB) re re) Bry
POSE CMON OL 34 ا
Pep eekel iy Pececmerrr rece Lit) ل ا ال
Pee DE ea eT CoCo
URL u = new
URL(‘http://www.perfect.com/java21pre/ima
196/000191۲(
2 عي ل el se al
Per S حلي ل ل
شود.
9 از
۱7۳ وت رات ۱۱0 ۱ ۱ ۱ و( 0زا
دوم مسیر عکس پا ف ایلت صویری
صفحه 185:
oS
روش اول ساده تر و روش دوم انعطاف پذیرتر است. : *
|۱۲ رز را
1 Sener SSO eS EY
Pe nee ares oN eco morlm re [-15 ا ا
PP eRe Seon OW Cr ا ا CCD)
ا
۱ ل لل Eeeo al
0 ey AT ee)
Image img = getiImage(getDocumentBase(),
;book.gif)
Image img = getimage(getDocumentBase(),
;image/book.gif)
صفحه 186:
oT el abe
Acree ا ل ا Bea
Bye PPM حي ل
ا ل ل با چهار 0 be
ار
" شى 1123606
تس
يا لا
* کلمه کلیدی ۲15
}public void paint (Grapics screen )
;screen.drawlmage(img, 10, 10, this)
t
صفحه 187:
* برای نمایش تصاویربا اندازه دلخواه متد 6 96۲1۳۳050
eRe ee 0
* شی ۱۳۸5۵96
aa >
لا لا
width ®
height ®
11115 كلمه كليدى ""
صفحه 188:
Jl
jimport java.awt.Graphics
mport java.awt.Image
} public class Fillmore extends java.applet.Applet
;Image whig
غتما 0۵۱6( (
whig = getIimage(getCodeBase(),
;"images/fillmore.jpg")
} public void paint(Graphics screen)
jint iWidth = whig.getWidth(this)
jint iHeight = whig.getHeight(this)
sint xPos = 10
9990
صفحه 189:
screen.drawlmage(whig, xPos, 10,
;iWidth / 4, iHeight / 4, this)
dODO% //
;xPos += (iWidth / 4) + 10
screen.drawlmage(whig, xPos,
:10, (واطغ
{
1
صفحه 190:
ایجاد انیمیشن با استفاده از تصاویر
bl ايجاد انيميشن با استفاده از تصاوير نظير ايجاد انيميشن با
ec On ened ere SEE SSS BIE Creed]
که وجود دارد. نیاز به استفاده از فضایی جهت نگهداری
تصاویر می باشد.
Per ا ل ا ا Le] ad
0 ا
صفحه 191:
۱۱6۱0 ایحاد انیمیشن
۱
۳ TESTOR Cet
http://www.perfect.com/java21pre
قدم دوم: نمايش يكى از تصاوير !"
ا ل ا ل يت ser ode Mere nteial
0 2 الل ا
Pee eit oe Sie hoe)
;lmage nekoPics[] = new Image[9]
;lmage currentimg
PD Rene Al eeg Ce ete Fs OB Ree Owe pee Cen] ny ADE Filed
۱ ل BP Or REET ed
صفحه 192:
111
nt y = 50
Pe SPP OL.) id Her Seer) ROLL Come Cra
} Qpublic void init
String nekoSrc[] = { "right1.gif", ۳۱2۰1,
6۵۵.0۲ "yawn.gif", "scratch1.gi
scratch2.gif","sleep1.gif", "sleep2.gif","
7{""awake.gif
} for (int i=0; i < nekoPics.length; i++)
nekoPics[i] = getImage(getCodeBase(),
;"images/" + nekoSrc[i])
1
1
1
i
صفحه 193:
ee tee ROR ont er oats LC) ke ie
PHS (go vrliiw! Qrun ا crane || رسد. براى انجام
0 اك ل See ia
"ا از سمت جب صفحه نمايش شروع به دويدن مى كند.
0 0 eco] ge] Pe CYT Dh
SVAN Ye rey) TEBE tha
* می خوابد.
* از خواب بیدار شده و به سمت راست صفحه نمایش دویده و از
آنجا خارج مى شود.
صفحه 194:
و
انجام اعمال تكرار يذير باشند. اين متدها عبار تند از:
ل ا ل 1 ا به
Price terres ye eon reine peees
} void Peres th ieee الكارت
Method Core Comes Here//
1
۱
pee nt) برای القای حرکت گربه مختصات تصویر را تغییر می دهیم, LI
تصوير محتوای شیء ۲۷1۲۲6۱۱۱۲9 را تفییر خواهیم داد. و در نهایت برای
ل کنیم. 2 anes ترسيم مجدد ارت
6 ل ۱
۳ قبل از بارگذاری تصویر جدید می باشد. ۳۳ ام این عمل از متد زیر
استفاده مى كنيم.
} void pause(int time)
ون
;Thread.sleep(time)
{} catch (InterruptedException e) {
1
صفحه 195:
* ۲ -) متد 8610۷() به صورت زير می باشد.
void nekoRun(int start, int end) }
for (int i = start; i < end; i += 10) }
=i
swap images //
if (currentimg == nekoPics[0])
کات رتیت و واه
jelse currentimg = nekoPics[0]
;)repaint
j;pause(150)
if
{
متد +23110() ابلت به صورت زير است.
public void paint(Graphics screen) }
ارس یرت نیت ی یلاه) گرا
;screen.drawImage(currentimg, x, y, this)
{
صفحه 196:
نكته
ا ا ا ا ا ل ۱۳
* در اینجا نوبت انجام اعمال زیر می باشد.
aswel اتات
و Orepaint 3x.
eA SPL SESS SC OROSMT PRON] FUP y CMe yi
stop and pause //
;currentimg = nekoPics[2]
۱(
;pause(1000)
yawn //
;currentiImg = nekoPics[3]
;Orepaint
;pause(1000)
صفحه 197:
AD peor Pel ny Cor BOS ST 61a ۱
رک لل sens Pe ecto er See pre) wa
ايجاد مي كنيم. و تعداد
دفعات كشش عضلات مى باشد.
} void nekoScratch(int numTimes)
} for (int i = numTimes; i > 0; i--)
;currentiImg = nekoPics[4]
;Orepaint
;pause(150)
;currentiImg = nekoPics[5]
;Orepaint
;pause(150)
{
{
صفحه 198:
۴ -) متد ۳6۵0۹51660): از اين متد جهت پیاده سازی قسمت
مربوط به خوابیدن استفاده می شود.
void nekoSleep(int numTimes) }
for (int i = numTimes; i > 0; i--) }
;currentiImg = nekoPics[6]
مراع Oa)
;pause(250)
;currentiImg = nekoPics[7]
Oa) x14
;pause(250)
1
1
صفحه 199:
* حال گربه مورد نظر از خواب بلند می شود و به سمت راست
ers rein re see)
;currentimg = nekoPics[8]
70repaint
;pause(500)
;nekoRun(x, size().width + 10)
PSC Te MeL NU CRE م ل ا 1B tal
-
صفحه 200:
منال
jimport java.awt.Graphics
;import java.awt.Image
simport java.awt.Color
public class Neko extends
} java.applet.Applet implements Runnable
;Image nekoPics[] = new Image[9]
;Image currentimg
‘Thread runner
1۳۱1
jint y = 50
} Qpublic void init
صفحه 201:
String nekoSrc[] = {"right1.gif",
"right2.gif", "stop.gif", "yawn.gif",
“scratch1.gif",
scratch2.gif","sleep1.gif",
;"sleep2.gif","awake.gif" }
la i=0; i < nekoPics.length; i+ با
+
nekoPics[i] =
,)getimage(getCodeBase
;(images/" + nekoSrc[i]"
i
rf
صفحه 202:
} Qpublic void start
}if (runner == null)
srunner = new Thread(this)
;Qrunner.start
1
} Qpublic void stop
srunner = null
} Qpublic void run
;setBackground(Color.white)
run from one side of the screen to the //
middle
;nekoRun(0, size().width / 2)
صفحه 203:
stop and pause //
الل تن ل كر تاه
ليللا و۲۱0
;pause(1000)
EM
;currentimg = nekoPics[3]
:)(( ۲
;pause(1000)
56۲۵۲۱ ۲۵۷۲ 1۵۵۸
ارهز نیک ۲-1
"sleep for 5 "turns //
;nekoSleep(5)
wake up and run off //
;currentimg = nekoPics[8]
;)repaint
jpause(500)
;nekoRun(x, size().width + 10)
صفحه 204:
} void nekoRun(int start, int end)
} for (int i = start; i < end; i += 10)
x=
swap images //
if (currentimg == nekoPics[0])
;currentimg = nekoPics[1]
;else currentImg = nekoPics[0]
repaint
;pause(150)
if
if
صفحه 205:
} void nekoScratch(int numTimes)
} for (int i = numTimes; i > 0; i--)
;currentimg = nekoPics[4]
:)( ۲
jpause(150)
;currentimg = nekoPics[5]
:)(( ۲
jpause(150)
if
if
} void nekoSleep(int numTimes)
} for (int i = numTimes; i > 0; i--)
;currentimg = nekoPics[6]
:)(( ۲
jpause(250)
صفحه 206:
;currentimg = nekoPics[7]
;Qrepaint
j;pause(250)
{
if
} void pause(int time)
۷
;Thread.sleep(time)
{} catch (InterruptedException e) {
{
} public void paint(Graphics screen)
(اانام یرت نوت وی اه) #ر زا
jscreen.drawlmage(currentimg, x, y, this)
if
0
صفحه 207:
نکته
* : با وجود اينکه در زبان جاوا آزاد کردن فضای حافظه
اختصاص داده شده به اشیاء به طور اتوماتیک انجام می
شودء ولى اين مسئله در مورد اشیاء 6۲۵۳۱۱165 صادق
ee omer) اا ۱
داده شده به این شیء به صورت زیر عمل می کنیم.
}Qpublic void destroy
;QoffscreenGraphics.dispose
4
صفحه 208:
Double: 490 Ke 9b
7 Miele SEC osT eid
| ree RCP Re belek real
کند. برای پیاده سازی بافرینگ دو گانه ابتدا باید تصویر 07۴56۲661۱ و
PPPs را و۱ pee sy
295 Jlwyl (paint s0
;lmage offscreenimage
;Graphics offscreen
سپس در هنگام مقدار دهی اولیه اپلت اشیایی از این دو کلاس ایجاد نموده *
PSOE B Eee Te pen Tents ا ee Nene)
offscreenimage = createlmage(size().width,
;size(). height)
;0offscreen = offscreenimage.getGraphics
صفحه 209:
0 eT Pent ene ee as
;0ffscreen.drawlmage(bug, 10, 10, this)
screen.drawlmage(offscreenImage, O ,
50, this)
* نکته: می توانید متد 006() را 0۷6۲۲۲0 نمایید. تا
} public void update(Graphics g)
;paint(g)
s
1
صفحه 210:
Slo
import java.awt
public class Checkers extends
} java.applet.Applet implements Runnable
‘Thread runner
للع 4 ۳۱۱۱۱۵
sint xMove = 4
;Image offscreenimg
;Graphics offscreen
} Qpublic void init
offscreenimg =
;createlmage(size().width, size().height)
;Qoffscreen = offscreenimg.getGraphics
صفحه 211:
PaO) Lee ۷۵۱۸ ۲
pCa l= oe یاس
jrunner = new Thread(this)
(۲
0
1
} Qpublic void stop
اللالیس هیارا اوه
i
كف اعلا ee)
ا ل ا ال ل 1"
while (runner == thisThread) }
;xPos += xMove
if ((xPos > 105) | (xPos < 5))
>xMove *= -1
صفحه 212:
(۲
2
‘Thread.sleep(100)
{} catch (InterruptedException e) {
1
1
} public void update(Graphics screen)
;paint(screen)
1
} public void paint(Graphics screen)
Draw background //
صفحه 213:
;offscreen.setColor(Color.black)
;offscreen.fillRect(0,0,100,100)
;offscreen.setColor(Color.white)
offscreen. fillRect(100,0,100,100)
۳0۲3۵۷۷ ۲ ا
soffscreen.setColor(Color.red)
;offscreen.fillOval(xPos,5,90,90)
,0,0 ای سا iH lial
تازرهه
{
} Qpublic void destroy
;Qoffscreen.dispose
{
if
صفحه 214:
۳ Be Soe)
و
0 |
* با یک آر گومان(ا لا فایل صوتی)
و
;play(getCodeBase(), “zap.au’)
Prose k=14 Lolo ل =f: 1- wey eee ا
peo Ulgixe (PLAY 2% YlegS 41 Ulgic & (\GetCodeBase
SCI OD Ceer ac oon ene eee ac)
صفحه 215:
ols
Uisy Oleds Quai b ul 2S Stop » start Perea Oe SNe RCo)
فايل صوتى آن را درون شىء ار نجام این عمل با
0 استفاده از متد اا ل ا
00 s20 sil.
AudioClip = getAudioClip (getCodeBase(),
“audio/marimba.wav’)
۱ (ot: 1d (ol te emer Spe rene (MEST OBE Er ils
et ا ل
AudioClip clip = new AudioClip
; (audio/marimba.wav )
eeeomy eels prod ieee ewe UE Co | (+L 011] oan e 1b Ap ad
a5 Jyx5 (loop(),stop(),play
صفحه 216:
Jl
jimport java.awt.Graphics
jimport java.applet.AudioClip
ublic class AudioLoop extends
java.applet.Applet implements Runnable
;AudioClip bgSound
;AudioClip beep
‘Thread runner
} Qpublic void start
1] )۲۷۸۳8۵۲ << لالد
srunner = new Thread(this)
AOC tei tla
{
صفحه 217:
} (public void stop
null)
if (bgSound != null)
;Q0bgSound.stop
Pala male
{
{
} Qpublic void init
;bgSound = getAudioClip(getCodeBase(),"loop.au")
jbeep = getAudioClip(getCodeBase(), "beep.au")
{
} Qpublic void run
if (bgSound != null)
;0bgSound.loop
;0Thread thisThread = Thread.currentThread
} while (runner == thisThread)
ینز
صفحه 218:
‘Thread.sleep(5000)
{} catch (InterruptedException e) {
if (beep != null)
;)beep.play
1
1
} public void paint(Graphics screen)
screen.drawString("Playing Sounds ...",
;10, 10)
1
if
صفحه 219:
نکته
ا ل ا er
.عمل پخش آن با متوقف شدن ۲۱۲۵30 اپلت متوقف
۱
می نمائیم
صفحه 220:
Awt
Poe ay wal evil pene em enw Cn tree weary NA ied
aceon area eee ere eM Lge ا
لستفاده از ۲ ۸۸۷۷ ولسط ک اربر شاملسه گزینه زیر میباشد
تاره ۱ درونولسط
كاربر قرار كيرند
رت ل :02116۳5 ی که شامل
Component هایبیگر لست
ترا peer ye
111 0ه را درون 17 ©011153119) تعيين مى نمايد .
ا 0 ا ل الا م
صفحه 221:
افزودذن 111 ©01112011) ها به
Tale ه60
« container.s, « component براى افزودن يى ""
Perey epee ie ee]
Component st."
Val] agen cay Le [e ICO] PS pC had زیت ل
00111001162 ايجاد شده.
" نكته: افزودن يى Container «Component
ا 0ت
0111001161 بايد متد :921111]() توسط متد
تررا ۳70
صفحه 222:
افزودذن 1155011 011111131108 ©
۱۳
00 1۱
نادیم class AudioLoop extends
| Java.applet.Applet
String note = "I am extremely tired and
+" would prefer not
;"to be clicked"
;Button tired = new Button(note)
} Qpublic void init
jadd(tired)
1
{
صفحه 223:
:۲ مثال *
;*.import 1۱۱
} public class VCR extends java.applet.Applet
;Button rewind = new Button("Rewind")
;Button play = new Button("Play")
;Button ff = new Button("Fast Forward")
;Button stop = new Button("Stop")
;Button eat = new Button("Eat Tape")
} Qpublic void init
jadd(rewind)
jadd(play)
Feelel Gag)
j;add(stop)
jadd(eat)
i
3
صفحه 224:
ن ۱۵06۱
"" نكته: اع 3اها بلا 0 ۳1 يك 2 ۱
تال 0
"ا مثال: کت موز زرا ات
[ جز 60۲6۳05 واهطاها عووا» »نامابام ۷.۵۵۵۱6 ol (ag
;Label lefty = new Label("Bleeding heart!")
;Label center = new Label("Centrist!", Label.CENTER)
;Label righty = new Label("Hardliner!", Label.RIGHT)
;Font If = new Font("Helvetica", Font.BOLD, 14)
;GridLayout layout = new GridLayout(3,1)
} Qpublic void init
;setFont(If)
الوك ا ا تاه
jadd(lefty)
jadd(center)
jadd(righty)
1
1
صفحه 225:
٠ 5 م
افزودن 0۱۱۵100:
Ji. ان
} public class CheckACzech extends java.applet.Applet
;Checkbox cl = new Checkbox("Milos Forman")
;}Checkbox c2 = new Checkbox("Paulina Porizkova")
;} Checkbox c3 = new Checkbox("Ivan Reitman")
;Checkbox c4 = new Checkbox("Tom Stoppard")
;Checkbox c5 = new Checkbox("Ivana Trump")
} Qpublic void init
jadd(c1)
jc2.setState(true)
jadd(c2)
jadd(c3)
jadd(c4)
jadd(c5)
1
1
صفحه 226:
RadioButton 9459!
9
7*«import java.awt
ublic class AudioLoop extends
} java.applet.Applet
3(CheckboxGroup p = new CheckboxGroup
Checkbox p1 = new Checkbox("Samuel
;Goldwyn", p, false)
Checkbox p2 = new Checkbox("Krzysztof
;Kieslowski", p, true)
Checkbox p3 = new Checkbox("Klaus
;Kinski", p, false)
Checkbox p4 = new Checkbox("Joanna
;Pacula", p, false)
صفحه 227:
Checkbox p5 = new
Checkbox("Roman Polanski", p,
‘false)
} Qpublic void init
;add(p1)
L(Y)
(3)
۳
;add(p5)
i
صفحه 228:
اخرودن
ComboBox(ChoiceList) |. ,
;x.import java.awt
public class SelectASpaniard extends
} java.applet.Applet
;0Choice span = new Choice
} Qpublic void init
;Span.additem("Pedro Almodovar")
;Span.additem("Antonio Banderas")
;Span.additem("Charo")
;Span.additem("Xavier Cugat")
;Span.additem("Julio Iglesias")
jadd(span)
1
1
صفحه 229:
TextBox(TextField) 40935!
* مثال:
7x.import java.awt
ublic class OutOfSite extends
} java.applet.Applet
;Label siteLabel = new Label("Site Name: ")
;TextField site = new TextField(25)
Label addressLabel = new Label("Site
;Address: ")
;TextField address = new TextField(25)
Label passwordLabel = new Label("Admin
;Password: ")
;TextField password = new TextField(25)
} Qpublic void init
۳
صفحه 230:
;add(siteLabel)
;add(site)
;add(addressLabel)
;add(address)
;add(passwordLabel)
;('*')password.setEchoCharacter
;add(password)
1
صفحه 231:
۱3 واه ery Bo
;*.import java.awt
public class Virginia extends java.applet.Applet
/
String letter = "Dear Editor:\n" + "lam 8
years old.\n" +"Some of my little friends say
there is no Santa Claus." +" Papa\n" + "says,
"If you see it in The Sun it's so." Please tell" +
"me the truth,\n" + "is there a Santa Claus?\
n\n" + "Virginia O'Hanlon\n" + "115 West 95th
;"Street\n" + "New York
;TextArea It
} Qpublic void init
;lt = new TextArea(letter, 10, 50)
jadd(It)
i
0
* مثال:
صفحه 232:
ScrollBar & Slider 40935!
" مثال:
7*«.import java.awt
public class Slider extends java.applet.Applet }
;GridLayout gl = new GridLayout(1,1)
Scrollbar bar = new
Scrollbar(Scrollbar.HORIZONTAL, 50, 0, 1,
)7100
Qpublic void init }
;setLayout(gl)
j;add(bar)
1
1
۱
صفحه 233:
افزودن 62۱0۷25
* مثال:
7x.import java.awt
public class Crosshair extends
} java.applet.Applet
;GridLayout gl = new GridLayout(1,1)
7;(0MyCanvas can = new MyCanvas
} Qpublic void init
;setLayout(gl)
j;add(can)
1
1
۱
صفحه 234:
class MyCanvas extends
}java.awt.Canvas
} public void paint(Graphics g)
sint x = size().width / 2
sint y = size().height / 2
;g.setColor(Color.black)
;g.drawLine(x-10, y, x-2, y)
;g-drawLine(x+10, y, x+2, y)
;g.drawLine(x, y-10, x, y-2)
;g.drawLine(x, y+10, x, y+2)
if
{
صفحه 235:
تعیین ۱۵۷01
LE Welt) a Renee ل ل ا eee ere Ts be
BC OSE Sed ch ear see ee ا ا
FlowLayout(default)
GridLayout
GridBagLayout
BorderLayout
CardLayout
1 eh Col ule re ie Reged ery NCL) Reems SECT pial
3)0FlowLayout layout = new FlowLayout ®
lsc 4) of (SetLayout 42 5! oslixu! L Layout يس از ايجاد ""
Contec hole teers en ee ee Bey rents] ach Lo ehd
SPOR N Liat we ee ا LeU aol rene
صفحه 236:
FlowLayout
"ا اكر ازاين 0101لا استفاده كنيد 131 011720116)ها يشت
سر هم eet Ca nerd ل ل ا ا ۱
تا ۱
2 رت ee
خواهيد 111 6011120136ها در سمت جب يا راست درج شوند
و ا ل ا اف jl
۱
صفحه 237:
مثال
import java.awt
ublic class Alphabet extends
java.applet.Applet
;Button a = new Button("Alibi")
;Button b = new Button("Burglar")
;Button c = new Button("Corpse")
;Button d = new Button("Deadbeat")
;Button e = new Button("Evidence")
seal eMac الل اا
FlowLayout Im = new
;FlowLayout(FlowLayout.LEFT)
صفحه 238:
} Qpublic void init
;setLayout(Im)
jadd(a)
jadd(b)
jadd(c)
jadd(d)
jadd(e)
jadd(f)
1
۱
۱
"" متد سازنده 0106 لا3-الالا10!() در حالت ييش فرض بين هر 01110116136 ©
ل ا 2 ال 0
ا ل ا ام 0
Pee eee od
FlowLayout layout = new
;FlowLayout(FlowLayout.LEFT, 10, 30)
صفحه 239:
GridLayout
a در صورتى كه از اين ۴ اسستفاده کنید.
111 1ه به حالت 6110© يشت سر هم قرار خواهند
ا ا ل ل ل
hese MEU ele | eee Tele SL] 0
Rent ep enw yeae Cycom sy ee Feeley Sy
تررت ا 2000
we
GridLayout gr = new GridLayout(10, 3, 5,
نز
7
صفحه 240:
مثال
;*.import java.awt
ublic class Bunch extends
} java.applet.Applet
GridLayout family = new
;GridLayout(3,3,10,10)
;Button marcia = new Button("Marcia")
;Button carol = new Button("Carol")
;Button greg = new Button("Greg")
Belles) OM Tie)
;Button alice = new Button("Alice")
;Button peter = new Button("Peter")
;Button cindy = new Button("Cindy")
;Button mike = new Button("Mike")
;Button bobby = new Button("Bobby")
صفحه 241:
} Qpublic void init
;setLayout(family)
jadd(marcia)
sadd(carol)
;add(greg)
jadd(jan)
;add(alice)
;add(peter)
;add(cindy)
;add(mike)
;add(bobby)
if
0
صفحه 242:
BorderLayout
Prep et ye eye a pe Romer yore ay Nolet are] ad
Be ETP eee Cro sy eee Nes Ciel Ses nC En CM Ween Is Se)
بدون آرگومان :در این حالت 0110]010610.)ها بدون فاصله درج خواهند شد. *
(08۵۲6۲۲۵۷۵۵
POSTON OR WCE ا ا OIE ST ial
۳ ا ا
;BorderLayout(int, int)
۱7۲7۳۱۳۱۱ وت وا Oeil e111) ee emUEE RC Bye Toe lial
عمل کنیم
add(String, Component)
"" آركومان اول(561113) مى تواند داراى يكى از مقادير :5010613 :1هللا
خ+5ع لالا .+35ط با 6۳6۵۲ باشد و بيانكر محل قرار كرفتن
04 00
صفحه 243:
مثال
ت رازه را ات
} public class Border extends java.applet.Applet
;)BorderLayout b = new BorderLayout
;Button north = new Button("North")
;Button south = new Button("South")
;Button east = new Button("East")
;Button west = new Button("West")
;Button center = new Button("Center")
} Qpublic void init
jsetLayout(b)
jadd("North", north)
jadd("South", south)
jadd("East", east)
jadd("West", west)
jadd("Center", center)
1
0
صفحه 244:
| ۱
اضافه کنیم به “Applet wos ۳ رم 000 Anta
۳ dul Solu-11) arene pCne pee Cm clit ke een one es
به موارد زیر توجه کنید: si BIN pce استفاده کرد
۱۳ ا 2 ل eee ee]
باشد.
۱
1 ec fe Tece\c sited
;0Panel pane = new Panel
PMP E Se DS RCR OBL Lil) Meee holt] aura Bey
;0BorderLayout bo = new BorderLayout
;pane.setLayout (bo)
Leyte ل Li ل ey
Per XTi) LCi SeSMOee ent peace SeeCeRIN CIES TY.Vs) o)(-1 ee Cec en etsy
Pete للا كت ل
;pane.add(dialogue)
صفحه 245:
CardLayout
Pao ii) Lolli) اين 101 0©ل31-أشامل تعدادى 201115211361 يا ""
ل ا ل
0 ا -1e: EN olt ane nr pe
00 ال oli] Lela t 1h nee ee Cy
۳9 We Oran sii =) a ae LaC=) ges
۱3 oe oreo ee eee |B تا
;() CardLayout cc = new CardLayout
ا ا mc hte ا ا Beep ec a
استفاده می شود .
;setLayout (cc)
صفحه 246:
۱
1.add (String, Component);
2.add( String, Container)
"" نكته: قبل از افزودن يك poi xb Container(card)
11 2اهاى لازم به آن 20101 شود. بعد از افزودن
تلت 7
۷ استفاده کرد .اين متد دارای دو آرگومان به شرح
زیر می باشد.
ور ا co eee Ey om
00 مذكور Applet باشدمىتولرزاز كلمه
كليدى1115آ لستفادم کرد.
* نام کارت
صفحه 247:
مثال
کت الا راض
ublic class BurmaShave extends java.applet.Applet
poses درل لیا ار
;)CardLayout card = new CardLayout
;Label[] lab = new Label[6]
jint current = 0
jThread runner
} Qpublic void start
}if (runner == null)
jrunner = new Thread(this)
و۲۱ Cer <a 9
أ
Qpublic void stop }
اانام وت رز را ۲9۰۱
0
صفحه 248:
} Qpublic void init
jlab[0] = new Label("Grandpa's beard")
jlab[1] = new Label("Was stiff and coarse.")
lab[2] = new Label("And that's what
;caused")
jlab[3] = new Label("His fifth")
jlab[4] = new Label("Divorce.")
jlab[5] = new Label("Burma Shave.")
;setLayout(card)
for (int i = 0; i < 6; i++)
;add("Card " + i, lab[i])
4
صفحه 249:
[ صبه ۷۵۱۵ :ها(
;)Thread thisThread = Thread.currentThread
} while (runner == thisThread)
;card.show(this, "Card " + current)
فزیتو وا یس
if (current > 5)
;current = O
;)repaint
وفنا
;Thread.sleep(5000)
{} catch (InterruptedException e) {
1
i
0
صفحه 250:
GridBagLayout
Pome sree eae Le NC Meh Col ae cerey
بيك رت را سلول درون 6110 را اشغال كند.
egret) ل ا ا paved
11 هارا مىوتولنبه طرقمختلفهرون6110 قرار داد.
gGridBagConstraint «vs ل ل stu! «I~
تا
0200 ل ا in agency
لا ا 20 ۱
0002005 ا ل ل ل a Bp cmeN Ee)
لل ا ل 020
اد شىء 01151121136 108306 6
تعیین 0۳5۲۵1۳ های هر 0۳0۵0۳۵۲
Layout 4 Component را
Corde eee lil elit) eee ee
صفحه 251:
"" قدم اول: طراحى [110 ©
"" قبل از شروع كد نويسى 06110 مورد نظر خود را روى كاغذ ترسيم كنيد.
"" قدم دوم: ايجاد 110 ©
* ا
ا ا ل ا ا 00
void buildConstraints(GridBagConstraints
.gbc, int gx, int gy
۷ 1۱6 ,۷۷ ۱۳۲ ,حال ۱۳ ,9۷ ۳1 ز
79bc.gridx = gx
igbc.gridy = gy
7;9bc.gridwidth = gw
;9bc.gridheight = gh
;gbc.weightx = wx
7gbc.weighty = wy
i
صفحه 252:
ور ۱۳
} Qpublic void init
30GridBagLayout gridbag = new GridBagLayout
GridBagConstraints constraints = new
30GridBagConstraints
;setLayout(gridbag)
Name label //
ns; li salle: 0, 0, 1, 1, 100,
0
;constraints.fill = GridBagConstraints.BOTH
;Button labell = new Button("Name:")
;gridbag.setConstraints(label1, constraints)
jadd(label1)
1
صفحه 253:
"" بعد از اختصاص 60115112311185 به يى 620111130116118 مى توان از شىء
تیگ اك
رتور ار ۱۳7
۱ ا ا are eae eal
;buildConstraints(constraints, 1, 0, 1, 1, 100, Peat
buildConstraints)constraints,0, 1, 1, 1, 100, 100);
buildConstraints)constraints, 1, 1, 1, 1, 100, 100);
buildConstraints)constraints, 0, 2, 2, 1, 100, 100);
SCT ree Se Cl
* قدم بعدی تعیین ابعاد سطرها وستونها می باشد. برای مثل ممکن است بخواهید قسمت
درل ات۱
باشند و دکمه 01 ارتفاع کمتری نسبت به 62010026 ها داشته باشد تععن ابعاد به
ee ene Ocd ل Byer eC
صفحه 254:
نکته
اه رت ۱۳۳۱
۰ شود.
ا ا ل ا 00
, 100, 100);
, 100, 100);
, 100, 100);
buildConstraints(constraints, 0,
buildConstraints(constraints, 1,
buildConstraints)constraints, 1,
0,1,1
0,1,1
buildConstraints)constraints, 0, 1, 1, 1, 100, 100);
1 1
2,2,1
, 100, 100);
Pea ا ل elle
buildConstraints)constraints, 0,
BuildConstraints(constraints, 0, 0, 1, 1, 10,
100);//name
BuildConstraints(constraints, 1, 0, 1, 1, 90,
ا ا ل ل 0
تعيين سهم عدد صفر منظور مى شود .
100);//nameText
در متدهاى بعدى جاى
صفحه 255:
"! قدم جهارم: افزودن وتنظيم 111 011320116 6ها
و 7[
شود.
Component :GridBagConstraints.BOTH ®
Pe ont dee ee Smee ee Lats are yee
LG 55 4h tcl, :GridBagConstraints.NONE ®
با كوحكتريرإندازه ممكرنثازداده شود. 1611
الال ا 2000
+11 10011 در لمتداد لفقىلنجام مىوشود.
® الي م ا ل كك 2000
1011 ير لمتداد عمودئإنجام مىشود.
صفحه 256:
نکته
ل 0
"" براى20113]00116111) هايى كه تمام سلول را اشغال نكرده مقادير ديكرى به شرح
on Meme TONS) ا SO I ere Wee
موقعيت قرار كرفتن 0111120116116 6را درون سلول مشخص مى كند.
GridBagConstraints.NORTH
GridBagConstraints.NORTHEAST
GridBagConstraints.SOUTH
GridBagConstraints.SOUTHEAST
GridBagConstraints.EAST
GridBagConstraints.NORTHWEST
GridBagConstraints.WEST
GridBagConstraints.SOUTHWEST
GridBagConstraint.CENTER dazic pn! 928 i 5 7
باشد.
صفحه 257:
اعمال تنظیمات
import java.awt.*;
eae 5 رل را م۱۱
java.applet.Applet {
void buildConstraints(GridBagConstraints
gbc, int gx, int gy,
int gw, int gh, int wx, int wy) {
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
gbc.weightx = wx;
gbc.weighty = wy;
صفحه 258:
public void init() {
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints constraints = new
GridBagConstraints();
setLayout(gridbag);
// Name label
buildConstraints(constraints, 0, 0, 1, 1, 10, 40);
constraints. fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
Label labell = new Label("Name:", Label.LEFT);
gridbag.setConstraints(label1, constraints);
add(label1);
// Name text field
buildConstraints(constraints, 1, 0, 1, 1, 90, 0);
انا نیال یفن رای
GridBagConstraints. HORIZONTAL;
TextField tfname = new TextField();
صفحه 259:
jgridbag.setConstraints(tfname, constraints)
jadd(tfname)
password label //
jbuildConstraints(constraints, 0, 1, 1, 1, 0, 40)
;constraints. fill = GridBagConstraints.NONE
;constraints.anchor = GridBagConstraints.EAST
Label label2 = new Label("Password:",
j;Label.LEFT)
;gridbag.setConstraints(label2, constraints)
jadd(label2)
password text field //
;buildConstraints(constraints, 1, 1, 1, 1, 0, 0)
constraints. fill =
;GridBagConstraints. HORIZONTAL
;)TextField tfpass = new TextField
صفحه 260:
tfpass.setEchoCharacter('*');
gridbag.setConstraints(tfpass, constraints);
add(tfpass);
// OK Button
buildConstraints(constraints, 0, 2, 2, 1, 0,
(۲
constraints.fill = GridBagConstraints. NONE;
constraints.anchor =
GridBagConstraints.CENTER;
Button okb = new Button("OK");
gridbag.setConstraints(okb, constraints);
add(okb);
+
7
صفحه 261:
مديريت رويداد : ١1320160 22
* برای تعامل با واسط کاربر باید رویدادهارا به دسترسی
eae dee ECE DE hae eB ۳
تولید می شوند.
صفحه 262:
انواع رویداد : ۷6۵۱15 0۴ 1۷065
رویداد کلیک ۷01156: اين رویداد به نوع خود شامل انواع
ل ا ا ا
00۷56 ۷0056۱16160 (فشردن ورها کردن دکمه 1۵156) می باشد.
رويداد حركت (116 1116 1/101/6 ©1/10115) 6 1/10115!: اين رويداد به نوبه خود
شامل انواع ورود و خروج مكان نماى ©1190115! به واسط :111 0111]20136© و
و۳۳۰
فشردن دکمه های صفحه کلید( ۲65565 6۷): اين رویداد به نوبه خود شامل
فشردن دکمه های صفحه کلید. رها کردن دکمه های صفحه کلید و فشردن و رها
۱
رويدادهاى واسط كاربر (611:5/ا1 © وتا ات۱
م ل ل ا Scrollbar Up)
ا ال ل ل 222 ا
00۳0 و ... می باشد .
صفحه 263:
Mouse SSS مدبريت رويداد
۴ یکی از معمولترین رویداد ها کلیک 01156 می باشد.
ا ا ا ا لك
می کند. دو رویداد به وقوع می پیوندد. این دو رویداد عبارتند از:0۷/1۱ ]۴۳۱۵۱۱56
(وقتى دكمه فشرده مى شود) و (] لا ع1190115(زمانى كه دكمه رها مى شود)
مدیریت رویدادها از طریق 0۷6۲۲06 کردن متدهای مربوط به رخدادها انجام می
۱
}public boolean mouseDown(Event evt, int x, int y) ®
معط دعوره© ولا رد3 ۱/۸
1
tL +10) را اه 2000
|
" علاء 116ع/اع: ليرا ركومانشىئ از كلاس 11 © لاع السنتكه حاوىر ويداد مربوطه
الست
ا ا ا ا ل Rts
صفحه 264:
مثال
public boolean mouseDown(Event evt, int x, int
۸۸
System.out.printin(“Mouse down at” + x + “,”
ity)
if
صفحه 265:
٠" "" ) رويداد ]لا ©1/10115: نيمه ديكر كليى متد
۵ می باشد این متد زمانی که دکمه MOUSE
رها مى شود. فراخوانى مى كردد. براى مديريت رويداد
override |, (mouseUp 3: 1. mouseUp
كنيم.
public boolean mouseUp(Event evt, int
x, int y){
//Method’s Core Comes here
صفحه 266:
مثال
import java.awt.Graphics
mport java.awt.Color
jimport java.awt.Event
} public class Spots extends java.applet.Applet
;final int MAXSPOTS = 10
int xspots[] = new int[MAXSPOTS]
nt yspots[] = new int[MAXSPOTS]
;int currspots = 0
} Qpublic void init
;setBackground(Color.white)
{
صفحه 267:
public boolean mouseDown(Event evt, int x, int
2
} if (currspots < MAXSPOTS)
;addspot(x,y)
توت طیولادت ۲۳
{
}else
;System.out.printin("Too many spots.")
تا یو یواای توا
0
void addspot(int x,int (لا
xspots[currspots] = x;
yspots[currspots] = y;
currspots++;
repaint();
}
صفحه 268:
} public void paint(Graphics g)
;g.setColor(Color.blue)
} for (int i = 0; i < currspots; i++)
g-fillOval(xspots[i] - 10, yspots[i]
;- 10, 20, 20)
i
{
{
صفحه 269:
Double Click ofug, co puro
* برای کنترل تعداد کلیک 101156] به این صورت عمل می کنیم.
public boolean mouseDown(Event evt, int x, int y) {
switch(evt.clickCount) {
case1://Single click
case2://Double click
case3://Triple click
Mesa
7
* مثال:
}public boolean mouseDown(Event evt, int x, int y)
;System.out.printin(“Click count:” + evt.clickCount)
{
صفحه 270:
مدیریت رویداد جابجایی ۱۷۱0۱56
ا ينا
ا PSOne Soe od) Pere
(elt) Plg-[e} ا Pepe elt eee m ene eee
شدهلست
public boolean mouseDrag(Event evt, int x, int y){
//Method’s Core Comes Here
7
tI) [oni] جابجایی6 ۲1۱015 بدوزلینکه دکنه آنفشرده شده بساشد
public boolean mouseMove(Event evt, int x, int y){
//Method’s Core Comes Here
7
oh MARCO aD a Perc ie Caner a Ree Tey ل له
۲ مختصات موقعیت نهایی مکان نمای ۲001456 را در خود نگه می
۳
صفحه 271:
" “اع5111ع1/101015: باورود مكازنماى©6 1110115 به ينجرهى ليلتمتد
Pepe Die ye eae eed 00
public boolean mouseEnter(Event evt, int x, int y)
0
//Method’s Core Comes Here
و
iS ee a re ca Co a eee Dd
public boolean mouseExit(Event evt, int x, int y)
0
//Method’s Core Comes Here
صفحه 272:
منال
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Event;
import java.awt.Point;
public class Lines extends java.applet.Applet {
:10 ح 5ع لالالامل! غخمأ اهمق
Point starts[] = new Point[MAXLINES]; // starting points
Point ends[] = new Point[MAXLINES]; // ending points
Point anchor; // start of current line
Point currentpoint; // current end of line
int currline = 0; // number of lines
public void init() {
setBackground(Color.white);
1
صفحه 273:
public boolean mouseDown(Event evt, int x, int y) {
if (currline < MAXLINES) {
anchor = new Point(x,y);
بت فتطیفا اکتا
1
else {
System.out.printin("Too many lines.");
return false;
7
}
public boolean mouseUp(Event evt, int x, int y) {
if (currline < MAXLINES) {
addline(x,y);
تفا توا
1
تال یوت وتات
7
صفحه 274:
public boolean mouseDrag(Event evt, int x, int y) {
if (currline < MAXLINES) {
currentpoint = new Point(x,y);
repaint();
Plame
}
زع315؟ ناعم عواء
7
void addline(int x,int y) {
starts[currline] = anchor;
ends[currline] = new Point(x,y);
رت زرا ووا اه
ایس کنیا کزیتیواای
anchor = null;
repaint();
صفحه 275:
public void paint(Graphics g) {
// Draw existing lines
for (int i = 0; i < currline; i++) {
g-drawLine(starts[i].x, starts[i].y,
x, ends[i].y); :]كلمع
1
// draw current line
g-setColor(Color.blue);
if (currentpoint != null)
g-drawLine(anchor.x,anchor.y,
currentpoint.x,currentpoint.y);
1
1
صفحه 276:
Le ایا
* برای اینکه یک 0110016۲ بتواند رویدادهای صفحه
7 0 ۱0
«Component x ,,53. Component ,%>5
nen] Se] SBT OT RC PNT pene Cee) ا
"! نكته: براى تعيين 111 6011120116ى كه 50©115 را در اختيار
داردء از متد زير استفاده مى كنيم.
;()Component.requestFocus
صفحه 277:
keyUp ,keyDown رويدادهاى
PCM E Se SC Sew SE Sie Lee Pert bial
public boolean keyDown(Event evt, int key) {
//Method’s Core Comes Here
7
public boolean keyDown(Event evt, int key) {
//Method’s Core Comes Here
}
PCE aS IS EL NT er eee Ch DRT CBR TE TCL TO) ial
باشد. برای استفاده از آنها به عنوان کاراکتر به صورت زیر عمل می کنیم.
currentChar = (char)key;
صفحه 278:
۷
public boolean keyDown(Event evt, int key) {
System.out.printin(“Ascii Value: ” + key);
System.out.printin(“Character:” +
(char)key);
تایه 9و2و۱
"" نكته: برخى از كليدهاى غير كاراكتري نظير كليدهاى جهت داراى نام مى
باشند که می توان برای دسترسی به آنها از اين نامها استفاده کرد.
if(key ا
//\f Core Comes Here
صفحه 279:
مثال
import java.awt.Graphics;
import java.awt.Event;
import java.awt.Font;
import java.awt.Color;
public class Keys extends java.applet.Applet {
hi وا ری
int currx;
int curry;
public void init() {
currx = (size().width / 2) -8; // default
curry = (size().height / 2) -16;
setBackground(Color.white);
setFont(new Font("Helvetica",Font.BOLD,36));
requestFocus();
صفحه 280:
public boolean keyDown(Event evt, int key)
switch (key) {
case Event.DOWN:
curry += 5;
break;
case Event.UP:
curry -= 5;
break;
case Event.LEFT:
currx -= 5;
و[ 44
case Event.RIGHT:
currx += 5;
break;
صفحه 281:
و06۲
;currkey = (char)key
if
;Qrepaint
:۲۵۲/۳ ۵۰
if
} public void paint(Graphics g)
}if (currkey != 0)
g-drawString(String.valueOf(currkey),
;currx,curry)
if
if
if
صفحه 282:
1
Java
صفحه 283:
Microsystems s+ 1990)
0816 با طهور وب
کردندبه تم ۷۵100۷۵ که
با یشوفت کار نم زان 081 + 70۷8
Compiled and Interpreted
Platform-Independent and Portable
Object Oriented
Robust and Secure
Distributed
صفحه 284:
۲۵۳۳۷۵, 5۳۳۵ 00 57۵
Multithreaded and Interactive
High Performance (for an interpreted language).
Dynamic and Extensible
ابى با جند اصطلاح بركاريرد زبان
gad par 3 alee ByteCode , Application , Applet .:sin- آنها رن
Application
صفحه 285:
ابزارهای لاز رای شروع is ویسی با او
ال 1995 معرقى شد تنه ليزارايجاد يرثا ما
رهاط رای بوک اکن نوش ای
else برنفه ها JDK ay, Sun Microsystems <<, ODKVava
ها لاه رنهاب
‘Sun One Studio
‘Sun Soft Java WorkShop
Borland JBuilder
Microsoft Visual ++
‘Symantec Cafe
استفادة 016ب توجه به غلاقه تان از خرنيك از مخيط غلك
ی که نم ور همه نید ی وید یکی از رم و
تست
صفحه 286:
بت لباب فرق
HelloWorid java’
..sCommand Prompt
\IDK\Bin> Javac HelloWorld java
ss tz HelloWorld. class”,
\IDK\Bin> Java HelloWorld
Hello, Worl
Hello, Worl
صفحه 287:
ار public, static تن
(7310اازكلمات
اواع داده وعملكرهاى زبان جاوا:
صفحه 288:
|
double
2 op wlén! Unicode
ACasting typedy s Jet
صفحه 289:
char
byte [Show char. in Fong. float, double
shor. 1 int long, float, double
char int long, float double
int double
Tong loa, double
int numbers
char [letters
long gridlJU
صفحه 290:
char alphabet} = new chat26)
int primesf] = {7.11.13}
Hash table stack
(String) ts رفت
String message
Stn
name = "Mr.Hlamed?
(Classis کلاس
صفحه 291:
inex
imy
ix =8
iY
imx
im Y =X»