کامپیوتر و IT و اینترنتعلوم مهندسی

آموزش برنامه نویسی جاوا بخش 4

صفحه 1:
Pee DLs re) Ste Sy Java) er ‏ال‎

صفحه 2:
رنگهای استاندارد "" نكته: رنك رو زمينه را با استفاده از يكى از روشهاى زير تعيين مى كنيم. ‎;screen.setColor(Color.pink)‏ ‎;Color brush = new Color(255, 204, 102)‏ ‎j;screen.setColor(brush)‏ "! نكته: براى تعيين رنكق يشت زمينه از متد 101012601 ©»1 ©1836 056) استفاده مى كنيم. ‎eS iid‏ لا ل ا ا 0 بااين تفاوت كه اين متد رنك يك ينجره يا يك دكمه را تعيين مى كند. ۱ وال کت ۱۳ یو بت تیا با 61۳0۲69۲0۷ 9() کلاس 1 ‏د‎ youre

صفحه 3:
Graphics2D «4 ۱9 eprerr a Cl e-) 0) 1] (o- 7-4 Dea Le) IY Bellas مى كنيم. public void paint(Graphics screen) 1 os Graphics2D screen2D = ;(Graphics2D)screen 1 1

صفحه 4:
الكوهاى ترسيم ۱ ال رم ۱ توانید رنگهای ساده. سایه روشن, یا دارای بافت را به کار ‎Pepe ce) Eee)‏ ات۵( ‎Ryn Ren Cle) Lil (agra cy‏

صفحه 5:
Gradient paw 5 69S! " ۳ ترسیم ۲ دهو رنگ متفاوت براى دو ‎See) Be OC yew ee HEI)‏ لل ا ا ال اا ا ل ‎CO Ae‏ دو صورت 26۷6116 و 6۷116 قابل استفاده است.

صفحه 6:
* متد سازنده 6۲80161۱۲۳61۳۲ به صورت زیر است. ‎GradientPaint(x1, y1, color1, x2, y2,‏ ‎;color2, true)‏ ‎se ee Caner Fire Re eens‏ ال ‎pow Tg es‏ در صورتی که از این آر گومان استفاده شود الگوی ترسیم به صورت ©11علإ© ۱ ‎liad‏ ل ‎See‏ ليا ل 2 م ۲( الگوی ترسیم جاری را تفییر می دهیم. ‎GradientPaint pat = new‏ ‎GradientPaint(0Of, Of, Color.white,‏ ‎5100f, 45f,Color.blue)‏ »Screen2D.setPaint(pat)

صفحه 7:
نكات Re EVI ‏ا ل ا‎ roiled 0 ‏اي ال‎ ‏کرد. برای این منظور از متد 565۲016() و کلاس‎ ‏استفاده می شود.‎ 06 و ل ل 0 ل 0 زیر می باشد. "" يك مقدار 50131 به عنوان يهناى خط با مقدار ييش فرض يك 000 Sore ‏ا‎ hee eis POSE Ce Fe ee Sa) ri Fn Emeve sae ped (1 bee

صفحه 8:
* عبارات زیر یک شیء 88565170166 ایجاد می کند و آن ‎ee ECO) ats nee)‏ ۱ BasicStroke pen = BasicStroke(2.0f, ,BasicStroke.CAP_BUTT ;(BasicStroke.JOINROUND ;Screen2D.setStroke(pen)

صفحه 9:
yrs ‏ایجاد خطوط در حالت دو بعدی با استفاده از کلاس‎ * blo YeUS gpl 245 oc ‏ا‎ ‎Bele epee pyres Sie) rar ry yc ere Line2D.Float In = new ;Line2D.Float(60F, 5F, 13F, 28F) "" نكته: اكر بعد از آركومانها از كاراكتر '! استفاده نشود. ‎ar Caps recy‏ ل ل ل

صفحه 10:
چهار ضلعی و 1 ع ا با ل ا 0 اين دو كلاس در نوع آركومانهايشان است, در واقع كلاس ۲ ار گومانهای ‎float‏ 9 دار ۳ پذیرد. ‎Cad‏ ا ل ا 7۲ ‎ep) ere Arce see age |‏ ارلا ل انا ‎Rectangle2D.Float rc = new‏ ‎Rectangle2D.Float(10F, 13F, 40F,‏ AF

صفحه 11:
بیضی و دایره 0 ل ا ا 0 ‎Lee TB‏ ا ۳ "5 Ellipse2D.Float ee = new ;Ellipse2D.Float(113, 25, 22, 40)

صفحه 12:
Arc : yhs 1d (ge 0dtew! ArC2D. Float oS jl oS sku! sly ™ ‏این کلاس دارای هفت آر گومان به صورت زیر می باشد.‎ Arc2D.Float Object_name = new Arc2D.Float(x, y, width, height, Start_degree, Traveled_degree, ;Closing_method) ‏شش آر گومان اول را قبلً بررسی کردیم. آر گومان هفتم نحوه ی‎ # ۳ Pee a) ‏خاتمه کمان را‎ Arc2D.Float arc = new Arc2D.Float(27, 722, 30, 33, 90, Arc2D.PIE)

صفحه 13:
جند ضلعى و 320 0 ابجاد کنیم. ‎;0GeneralPath polly = new GeneralPath‏ * پس از آن با استفاده از متد۲00۷6۲0() اولین نقطه را ایجاد می کنیم. ‎;Polly.moveTo(5F, OF)‏ و ‎;polly.lineTo(205F, OF)‏ ‎;polly.lineTo(205F, 90F)‏ ‎Se Tad‏ ل ‎PRCA Bee SBC)‏ ‎;Qpolly.closePath‏

صفحه 14:
نکات و منال ‎eta Meal eee Cents Dingo be‏ ات وا ل 1 استفاده می شود. ‎;x.import java.awt‏ ‎;ximport java.awt.geom‏ public class Map2D extends } java.applet.Applet } public void paint(Graphics screen) Graphics2D screen2D = ;(Graphics2D)screen ;setBackground(Color.blue) Draw waves // j;screen2D.setColor(Color.white) ,BasicStroke pen = new BasicStroke(2F RacicGtrnlkea CAP RIITT.

صفحه 15:
;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) Draw Florida // GradientPaint gp = new GradientPaint(OF,0F,Color.green, 50F, 50F, ;Color.orange,true) ;screen2D.setPaint(gp) ;()GeneralPath fl = new GeneralPath

صفحه 16:
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);

صفحه 17:
Draw ovals // ;screen2D.setColor(Color.black) ;()BasicStroke pen2 = new BasicStroke ;screen2D.setStroke(pen2) Ellipse2D.Float el = new ;Ellipse2D.Float(235,140,15,15) Ellipse2D.Float ‏رتیت‎ ‎;Ellipse2D.Float(225, =. 15,15) Ellipse2D.Float e3 = )15,15 150 ا ا لتك ‎;screen2D. fill(e1)‏ ‎‘screen2D.fill(e2)‏ ‎;screen2D.fill(e3)‏ { i

صفحه 18:
لا ا 0 است ا ا 20 00 res) Cores ae 1 eB T ENG |S) en dol ys

صفحه 19:
کنترل تصاویر متحرک به کمک ۲۱۲۵۵0 ها 2 ‏اللا‎ aCe eee eke Bee i ‏باشد. با استفاده از ۲۱۲6۵0 می توان بیش از یک‎ ‏وظيفه(1351) را درون برنامه اجرا كرد. با قرار دادن كد مربوط‎ ‏به بار گذاری انیمیشن ا قسمتهای برنامه‎ ۱ ‏دیگری را انجام دهند.‎ * برای نوشتن اپلتها با استفاده از 0۲6۵0 ]ها باید اعمال زیر را انجام دهيم.

صفحه 20:
‎ern on eos reer‏ لا ‏* افزودن عبارت ۳۷۳۳۵۳۵۱6 1۳0۵۱6۴۱6۳۲ * ایجاد یک شیء ‎Thread‏ ‏ات0 ۱1۱ " 017:10 كردنمتد 5800( زو م2 و۱7۳ حللاجرا ا ا ا ا ا ‎Per‏ ‏شود. ‎public class AppletName extends‏ درا رزیت ات۱۱2۰ ‎Applet Core//‏ ‎1

صفحه 21:
نكات * کلاس ‎Le‏ تما 2۷29 قرار ‎Srey)‏ 0 0 نیازی به استفاده از 1۲00۲ برای بار گذاری آن نداریم. لك اي ‎ey‏ ‏اینجا واسط ‎RuNNable‏ توسط کلاسی که به عنوان ۲0۲680 عمل می کند. پیاده سازی می شود. "" نكته: براى ايجاد يك 11916261 ابتدا بايد متغيرى از نوع 71192162601 ‎panera spe‏ ‎;Thread runner‏ ‎er ke ۳‏ ا ا يا ل ا ‎Cee Ae Ry‏ ‎apes‏ ل ا ‎PP Pe SIC Peon) | Melis‏ 0 به صورت زير عمل می کنیم.

صفحه 22:
ايجاد شى 1116201 }Qpublic void start sif(runner == null) s;runner = new Thread(this) ‏ا لش الا( و‎ 1 i 0 ‏ا ل ل ا ا را‎ ‏م ا ا 0 0 لل‎ Seo Booed ‏به اپلت اضافه کنیم.‎ }Qpublic void run What your applet actually does comes// ‏توتزرا‎ {

صفحه 23:
مثال ‎PET Wee Poles ets pem corer proms ee en Ken CN OLAV Inne tal‏ فريمهاى مختلف استفاده مى شود. بعد از نوشتن كدهاى لازم درون متد ١نا!‏ بايد ابتدا متد 5]00() را براى متوقف كردن .1111830 6 نماییم. برای متوقف کردن ۲۱۱۲630 آن را براپر ||ل۲۱۱ قرار می دهیم. ‎;import java.awt.Graphics‏ ‎mport java.awt.Font‏ ‎mport java.util.Date‏ ‎public class DigitalClock extends‏ }java.applet.Applet implements Runnable ‏رزیل وت وزیا‎ ‘Font("TimesRoman",Font.BOLD,24) ;Date theDate ;Thread runner

صفحه 24:
} Qpublic void start } if (runner == null) jrunner = new Thread(this) ;)runner.start 1 } Qpublic void stop } if (runner != null) Mail el-l eee ۱ { } Qpublic void run Thread thisThread = ;)Thread.currentThread } while (runner == thisThread) (2 ‏رون‎

صفحه 25:
;Thread.sleep(1000) } catch (InterruptedException e) { 1 { } public void paint(Graphics screen) ;)theDate = new Date ‘screen.setFont(theFont) screen.drawString("" + ;theDate.toString(), 10, 50) { ff

صفحه 26:
مثال ‎;import java.awt.Graphics‏ ‎jimport java.awt.Font‏ ‎jimport java.util.Calendar‏ ‎public class DigitalClock12 extends‏ ‎java.applet.Applet implements‏ ‎Runnable‏ } ‎Font theFont = new‏ ‎‘Font("TimesRoman",Font.BOLD, 24)‏ ‎;Calendar theDate‏ ‎‘Thread runner‏ ‎Qpublic void start‏ }

صفحه 27:
} if (runner == null) srunner = new Thread(this) (۵ ‏ا‎ s { 1 } Qpublic void stop (اايام 2! معوضوريم) عار الالنن ع تیاه 1 1

صفحه 28:
} Qpublic void run Thread thisThread = ;)Thread.currentThread } while (runner == thisThread) :)((2 ۲ ۸ ;Thread.sleep(1000) } catch (InterruptedException e) { 1 { 7

صفحه 29:
} public void paint(Graphics screen) ;)theDate = Calendar.getinstance sscreen.setFont(theFont) screen.drawString("" + ;theDate.getTime(), 10, 50) i 0

صفحه 30:
نكات ار 00 ‎fe [1 ¢-herg‏ ۱ ‎Pee ORCS leah Sion te oe bem el Weenies‏ ا ا ‎Oar‏ لالس" 9 برای جلو گیری در پرش ‎eer oa)‏ 20 انيميشن دو راه وجود دارد. " 01:10 كردزمتد ©126138ا() به صورتىكه صفحه نمايش ‎Cenk 9 eel‏ ل ا ا ا 0-0-1 " 01/710 كردزمتد ©00315ل1)و 031111() ولستفادداز ‎dubly dubl> 4255 double buffering) als sa5. 5,‏ ‎mee ee be PROS‏ ل ل ‎PON‏

صفحه 31:
7 ne ee een eee reN een] 6] Le 1k Ieer dal است: }public void update (Graphics screen) ;screen.setColor(getBackground()) screen.fillRect(0, 0, size().width, ;size.height()) ;screen.setColor(getForegrund()) ;paint(screen) 1 1

صفحه 32:
مثال import java.awt.Graphics mport java.awt.Color jimport java.awt.Font public class ColorSwirl extends ۱۲ ‏درل بای رتیت رت ابیا ات رت رت‎ a f = new Font("TimesRoman", Font.BOLD, ;Color colors[] = new Color[50] :Thread runner غ53 لزمنا ءأاطيام() ( } if (runner == null) srunner = new Thread(this) ‎1a‏ تا( ‎1 ‎ ‎

صفحه 33:
}Qpublic void stop srunner = null i } Qpublic void run initialize the color array // float c= 0 } for (int i = 0; i < colors.length; i++) colors[i] = Color. . ۱ # ی ۱0 jc += .02 if CaCl ‏را ای‎ mael (ew sinti=0

صفحه 34:
:0۲۳۲۵۵۵ ۲۳15۲۳۲۵۵0 2<- ۵ } while (runner == thisThread) ;setForeground(colors[i]) :)(( اس 2 ;Thread.sleep(200) {} catch (InterruptedException e) { ‎i (late ide‏ ا راك ‎i ‎} public void paint(Graphics screen) ;screen.setFont(f) ‎ALL: to the Cookie!", 15,‏ یت ی و 350 ‎{ ‎{

صفحه 35:
۳۱ re re) By 0999 Sy URL oils sub laud yy ghar jl oolitw! 9 CSL 9 oly ‏مى باشد. را :111112011 نمائيم و سيس يك شى از آن‎ [3-1 9 0 ‏لا ا ات ا‎ coheed URL u = new URL(‘http://www.perfect.com/java21pre/im ;age/book.gif”) ۱۱ ‏و‎ ‎Pee ‏وا و و‎ ‏سس‎ ‎| ‏ع‎ ‏رد‎ ‎erm epee ‏ارات ۱0 ان رن ۱ ۱۲ و(‎ "" ae aed Ae 0227723-73

صفحه 36:
oS Pod epee)! Ce SONGS OE aS) Ret IGT oad Favre ey ee 015) ME SITS peInCO ENTS D PWV o) 0) (-| ange Caer roel Beep] nee Pig lene He eRe PEO ‏ل‎ ‎Fee eee ares 1 emcee: (15 Telit d =f: {eee Prone SEO ay Ck crowd irs e-TeneeeS | Wel ts pre oe CMC) ‏دارد.‎ ‎۱ ‏ل ل ل‎ ‏محتواى آن آدرس ايلت را مى باشد.‎ Image img = getimage(getDocumentBase(), ;book.gif) Image img = getimage(getDocumentBase(), ;image/book.gif)

صفحه 37:
oT abe Aero) ‏ا ل‎ Bea Bye PPM ‏م حلي يا ا‎ 0 ‏ا ل‎ hel per gee edt be 000 " شى 111306 له يا لا "" كلمه كليدى 161215 }public void paint (Grapics screen ) ;screen.drawlmage(img, 10, 10, this) t

صفحه 38:
* برای نمایش تصاویربا اندازه دلخواه متد 96۲1۳0506 با شش آر گومان زیر فراخوانی می شود ادنیل <4 لا لا width ® height ® ‎Ce Pec‏ درن

صفحه 39:
۱۳ ;import java.awt.Graphics ;import java.awt.Image } public class Fillmore extends java.applet.Applet ;Image whig } Qpublic void init whig = getimage(getCodeBase(), ;"images/fillmore.jpg") i } public void paint(Graphics screen) jint iWidth = whig.getWidth(this) nt iHeight = whig.getHeight(this) jint xPos = 10 ار مت

صفحه 40:
screen.drawlmage(whig, xPos, 10, ;iWidth / 4, iHeight / 4, this) dOO% // ;xPos += (iWidth / 4) + 10 screen.drawlmage(whig, xPos, 310, this) 0 1

صفحه 41:
ایحاد انیمیشن با استفاده از تصاویر 00 ele aie Yipee vase) ted ‏ا‎ Ld ‏ا ل‎ SER SSE ED cod ‏که وجود دارد. نیاز به استفاده از فضایی جهت نگهداری‎ ‏تصاویر می باشد.‎ ۱ انيميشنى ايجاد كنيم.

صفحه 42:
ایحاد انیمیشن ۱۱6۱۷0 "! قدم اول: "" عكسهاى مورد نظر رااز سايت زير [©11!9236لالا010 كنيد. ‎١ pre‏ 31/1 [/ للامء. أعع 1 اعج]. اناللاللا/ /ندرخخط * قدم دوم: نمایش یکی از تصاویر ‎Bere) it bial‏ رح الل 2020 2 تا ل 0 ‎;lmage nekoPics[] = new Image[9]‏ ‎;lmage currentimg‏ و 0 ۱

صفحه 43:
۳4 ;int y = 50 PPP ‏الف ل ا‎ Seen ‏دهیم.‎ } Qpublic void init String nekoSrc[] = { 1۰ ‏يلات‎ "right2. ae "stop.gif", "yawn. gif", P-acrate 1015 scratch2.gif","sleep1.gif", "sleep2.gif"," 3{""awake.gif } for (int i=0; i < nekoPics.length; i++) nekoPics[i] = getImage(getCodeBase(), ;"images/" + nekoSrc[i]) 1

صفحه 44:
۱ ۱ 1 ‎Faye ne el cee Cw ee Orr ls‏ لت ‎VAS eee eee] PMG] Ce gC TW Wey vad ‏* چهار بار عضلات خود را می کشد. ‏و ‏* از خواب بیدار شده و به سمت راست صفحه نمایش دویده و از 0

صفحه 45:
و انجام اعمال تكرار يذير باشند. اين متدها عبارتند از: ‎eed eo‏ ا 0 یش باشد. به ‎ere carer sya oy oie ness‏ ‎start, int end)‏ ل ‎void‏ } ‎Method Core Comes Here//‏ 1 مى دهيم, و براى تغيير محتواى خواهیم لل ‎peel See‏ ‎ele Da Es ۳‏ تا تصوير را ته تصویر محتوای شیء 11۲۲6۲۱۷۱۲ را تغب ترسيم م ۱0 ‎Ld‏ ال انجام شود. متوقف کردن حلقه ‎ae 4‏ تصویر جدید می باشد. برای انجام این عمل از متد زیر میک ‎ ‎ ‎} void pause(int time) ‏و‎ ‎;Thread.sleep(time) ‎} catch (InterruptedException e) { ‎i ‎۱

صفحه 46:
۱ ‏ال للا‎ } void nekoRun(int start, int end) } for (int i = start; i < end; i += 10) x=i swap images // if (currentimg == nekoPics[0]) ;currentimg = nekoPics[1] ;else currentimg = nekoPics[0] :)(( ۲ jpause(150) { 0 ‏ا كا‎ } public void paint(Graphics screen) 1] ‏(ااناه ۲ وصطااصع۲سه))‎ ;screen.drawlmage(currentimg, x, y, this) {

صفحه 47:
نكته ل ا 9 ‎ae st] hia‏ ۱ * تغییر تصویر درون متفیر 61۲۳۵۴۲۱۲۳۵ * فراخوانی متد 0۳6۴۵۵1۳۴ | ‎stop and pause //‏ ‎;currentimg = nekoPics[2]‏ ‎;Orepaint‏ ‎;pause(1000)‏ ‎yawn //‏ ‎;currentimg = nekoPics[3]‏ ‎;Orepaint‏ ‎;pause(1000)‏

صفحه 48:
[0 ele ee ‏یی تا‎ 00 el! MO tte ‏عضلات را يياده سازى كنيم. براى اين كار متد‎ ايجاد مي كنيم. این متد دارای یک آر گومان می باشد که بیانگر تعداد دفعات كشش عضلات مى باشد. } void nekoScratch(int numTimes) } for (int i = numTimes; i > 0; i--) ;currentimg = nekoPics[4] ;Orepaint ;pause(150) ;currentimg = nekoPics[5] ;Orepaint ;pause(150)

صفحه 49:
0 ‏مربوط به خواییدن استفاده می شود.‎ } void nekoSleep(int numTimes) } for (int i = numTimes; i > 0; i--) ;currentimg = nekoPics[6] ;Orepaint ;pause(250) ;currentimg = nekoPics[7] ;Orepaint ;pause(250) 1 1

صفحه 50:
* حال گربه مورد نظر از خواب بلند می شود و به سمت راست ‎Byer cae EL Sener ero)‏ ;currentimg = nekoPics[8] ;0repaint ;pause(500) snekoRun(x, size().width + 10) "" در اينجا بررسى برنامه خاتمه يافته و كل آن را يك جا ذكر مى Pe

صفحه 51:
ادامه دارد. 1 = Java ل ۳( اطلاع ا ‎De‏

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
10,000 تومان