(applets) םינומושיי - המדריך הישראלי...

45
1 יישומונים) Applets ( הקדמה- המגבלות על פעולותיו של הapplet המחלקהApplet המחלקהGraphics - תגית הapplet - העברת פרמטרים לapplet - מחזור החיים של הapplet - הסביבה שבה פועל הapplet © 2007 Zindell Technologies, Ltd.

Upload: others

Post on 24-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

1

)Applets( יישומונים

הקדמה

applet המגבלות על פעולותיו של ה-

Applet המחלקה

Graphics המחלקה

applet תגית ה-

applet העברת פרמטרים ל-

applet מחזור החיים של ה-

applet הסביבה שבה פועל ה-

© 2007 Zindell Technologies, Ltd.

Page 2: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

2

הקדמה

יישומון( applet- ה. אשר מוצג באמצעות דפדפן htmlהיא תכנית שהקריאה להפעלתה נעשית מתוך מסמך applet-ה

איננו תכנית עצמאית וכדי להפעילו applet-ה. תכנית קטנה שבולטת בתכונותיה הגרפיות, בדרך כלל, מהווה) בעברית

ובכך ניתן, applicationשהוא גם appletבהמשך נראה כי ניתן לייצור , אף על פי כן. htmlחייבים לשלבו במסמך

.להפעלה גם באופן עצמאי

applet-ניתן לצפייה גם באמצעות ה applet-ה. applet-באמצעות הדפדפן גורמת להפעלת ה html-עצם הצפייה בדף ה

viewer ,תכנית שירות שמסופקת בתוך ה-JDK .ה-applet viewer פועל על דף ה-html אשר מכיל בתוכו קריאה

בעת הפעלתו בכך שהם מספקים applet-משלימים את ה appletviewer-ה/הדפדפן .ומפעיל אותו, applet-להפעלת ה

. לו את היכולת לפעול באופן גרפי

-באמצעות ה applet-בהפעלת ה, html-באמצעות הדפדפן מוצג גם תוכנו של מסמך ה applet-בעוד שבהפעלת ה

applet viewer מסמך ה-html ומה שרואים הוא רק חלון גרפי שמציג את תוכנו של ה, לא מוצג-applet כמו כן. בלבד,

יותר מ html-כאשר מסמך ה applet-אחד הפעלת ה applet-מכיל viewer תגרום להיווצרות חלון גרפי נפרד לכל

applet .צפייה ב, לעומת זאת-applet באמצעות הדפדפן תגרום להופעת דף ה-html כשבתוכו ניתן לראות את כל, כולו

.applets-אחד מה

בעוד שבפרק .תכנית זו וודאי מוכרת לך מהפרק הראשון של הספר. פשוט applet-התכנית הבאה מהווה דוגמא ל

.כעת אנו גם נסביר אותה, הראשון רק הצגנו אותה

import java.applet.*;

© 2007 Zindell Technologies, Ltd.

Page 3: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

3

import java.awt.*;

public class HelloWorld extends Applet

{

public void paint(Graphics g)

{

g.drawString(“Hello world”, 100, 40);

}

}

:הסבר לקוד המקור

java.applet הוא שם ה-package שבו נמצאות המחלקות שמשמשות להפעלת ה-applet .בין מחלקות אלה נמצאת גם

חוסכת את ציון שמם .* import java.applet הפקודה .HelloWorldאשר ממנה יורשת המחלקה , Appletהמחלקה

אילו פקודה זו לא הייתה נכתבת אז את: Appletהמחלקה , כך לדוגמא. זה package-המלא של המחלקות ששייכות ל

:היינו צריכים לרשום באופן הבא HelloWorldשורת הכותרת של המחלקה

public class HelloWorld extends java.applet.Applet.

java.awt ה שם הגרפית package-הוא התצוגה ליצירת שמשמשות מחלקות נמצאות המחלקה, שבו כגון

Graphics .הפקודה import java.awt *. אם פקודה זו, כך לדוגמא. חוסכת את ציון שמם המלא של מחלקות אלה

:הייתה נראית כדלקמן paintלא הייתה כלולה בתכנית אז שורת הכותרת של המתודה

public void paint (java.awt.Graphics g)

כל מחלקה שמוגדרת מתוך. Appletמשורת הכותרת של המחלקה המוגדרת ניתן ללמוד שהיא יורשת מהמחלקה

.Applet- מוגדרת כמחלקה שיורשת מ applet-מטרה שתפעל כ

בהורשה שמגיעהpaintשמוגדרת בתוך המחלקה תופסת את מקומה של המתודה paintהמתודה תפקידה של.

© 2007 Zindell Technologies, Ltd.

Page 4: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

4

. applet-את האלמנטים גרפיים של ה הוא לצייר paintהמתודה

אליה מהדפדפןGraphicsלאובייקט מטיפוס המחלקה referenceמקבלת paintהמתודה שמגיע applet-מה/

viewer ובאמצעותו ניתן להפעיל את המתודות שמוגדרות במחלקהGraphics כדי להוסיף אלמנטים גרפיים לתצוגה

).Graphicsבהמשך נסקור את המתודות השונות שקיימות במחלקה ( applet-של ה

-מתן הרשאת גישה ששונה מ. publicחייבים לתת את הרשאת הגישה appletלמחלקה שמגדירים ושעתידה לשמש כ-

public לא יאפשר לדפדפן לייצור ממנה אובייקט.

,שמוצג לעיל, html-מסמך ה. מתאים שיקרא להפעלתו htmlהאמור לא ניתן להפעיל מבלי שיהיה קובץ applet-את ה

.applet-שקורא להפעלתו של ה htmlמהווה דוגמא פשוטה למסמך

<html>

<applet code=”HelloWorld.class” width=320 height=120>

</applet>

את. applet-מתארים את ממדי החלון הגרפי שבתוכו יפעל ה height- ו widthהערכים שמוכנסים אל תוך המשתנים

כפי שוויתרתי(אך ניתן גם לוותר עליהם , הערכים שמוכנסים אל תוך שני משתנים אלה ניתן לתחום בגרשיים כפולים

. עליהם בדוגמא זו -ו widthבאמצעות התכונות html-רץ נקבע במסמך ה applet-גודלו של החלון הגרפי שבתוכו ה)

height .ה, ללא קביעת ערכים לשתי התכונות האלה, מסיבה זו-applet 0-יוצג בממדים ששווים ל(לא יוצג.(

עצמו יוצג על המסך באותם דפדפנים applet-ואיננו קשור ל, applet-בין שתי תגיות ה html-כל מה שייכתב במסמך ה

ניתן לנצל תכונה זו במסירת אינפורמציה מתאימה לבעלי דפדפנים שאינם מסוגלים. appletsשלא תומכים בהצגתם של

.appletsלהציג

© 2007 Zindell Technologies, Ltd.

Page 5: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

5

בתוך תגית codebaseאז יש לעשות שימוש בתכונה html-שונה ממיקומו של מסמך ה class-אם המיקום של קובץ ה

. class-שבו נמצא קובץ ה URL-ולקבוע את ערכה כשווה ל, applet-ה

:לדוגמא

<applet codebase=http://www.yahoo.com/applets code=”HelloWorld.class”

width=100 height=100>

</applet>

שאליו היא שייכת לפני package-אז יש לציין את שם ה default package- לא שייכת ל appletאם המחלקה שמהווה

.שמה כאשר נקודה מפרידה נמצאת ביניהם

:לדוגמא

<applet codebase=http://www.yahoo.com/applets

code=”myPackages.HelloWorld.class” width=100 height=100>

</applet>

.נפרט בהמשך, applet-את התכונות הנוספות שניתן להוסיף אל תגית ה

וזאת מתוך כוונה, אמורים לפעול במחשבים שונים שמחוברים ברשת קיימות מספר מגבלות על פעולתם applets-כיוון ש

ב זדוניים ה. applets-למנוע שימושים פעולתם של על הן המגבלות applets-המגבלות שקיימות ברוב הדפדפנים

:הבאות

applets לא יכולים להפעיל תכניות אחרות שנמצאות במחשב שבו הם רצות.

applets לא יכולים לייצור קשר עם מחשבים אחרים מלבד המחשב שממנו הם הגיעו.

applets לא יכולים לקרוא או לכתוב אל מערכת הקבצים שבמחשב שבו הם פועלים .

© 2007 Zindell Technologies, Ltd.

Page 6: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

6

applets גרסת ה: למעט האינפורמציה הבאה, לא יכולים לקבל אינפורמציה על המחשב שבו הם פועלים-JAVA

התווים שמשמשים כתווים מפרידים בין שמות של קבצים, השם ומספר הגרסה של מערכת ההפעלה, שפועלת בו

\ כגון( pathוספריות בתוך , ו, והתווים) ;או :כגון (ים pathהתווים שמשמשים כתווים מפרידים ברשימה של - /)

).n\כגון (שמשמשים כתווים מפרידים בין שורות

כיוון .CPU-ולא באופן ישיר על ידי ה, JVM-מופעלים על ידי ה applets-קיומן של מגבלות אלה מתאפשר כיוון שה

שמופעל במחשבים applet(לדוגמא: שיכול לגשת לקבצים במחשב שעליו הוא פועל appletשלעתים נרצה לכתוב

מסוג זה מכילים בתוכם אישור למקור. יישומונים signed appletsקיימת האפשרות לייצור ) intranetשמחוברים לרשת

וכמו כן לבטל עבורם מגבלות, ובדרך זו ניתן לאפשר להם גישה למערכת הקבצים במחשב שבו הם פועלים, שממנו הגיעו

.רגילים appletsנוספות שבדרך כלל קיימות על פעולתם של

© 2007 Zindell Technologies, Ltd.

Page 7: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

7

Appletהמחלקה

זהו תנאי הכרחי בכתיבתו. java.applet- אשר שייכת ל, Appletחייבת לרשת מהמחלקה appletכל מחלקה שמהווה

כמחלקה שיורשת מהמחלקה appletניתן גם להגדיר את המחלקה שמתעתדת להיות appletכדי לייצור . appletשל

JApplet ,ובדרך זו לעשות שימוש במחלקות ה-JFC אשר מאפשרות ביצועים גרפיים משופרים .

מורשות באופן אוטומטי מספר Appletכמחלקה שיורשת מהמחלקה applet-בהגדרת המחלקה שמתעתדת לפעול כ

,paint(מתודות חשובות אשר מופעלות על ידי הדפדפן init, start, repaint, destroy, update, stop ואחרות….(

.בהמשך הפרק נסקור מתודות אלה בהרחבה

applet-מועברות אל המחלקה המוגדרת מתודות שמשמשות לקבלת שירותים ואינפורמציה מהדפדפן שבו ה, כמו כן

.מתודות אלה כוללות בין היתר מתודות להפעלתן של פעולות מסוימות בדפדפן. פועל

מתן הרשאת גישה אחרת. publicחייבת להיות עם הרשאת הגישה applet-מחלקה שמוגדרת מתוך כוונה שתפעל כ

.שנוצר applet-את ה יגרום לכך שהדפדפן לא יוכל להפעיל

ישירות מהמחלקה appletהמחלקה יורשת מהמחלקות , ודרכה, panelיורשת ,Containerהיא Component ו-

Object . המחלקהJApplet יורשת מהמחלקה אשר Applet שייכת לקבוצת המחלקותSWING .זו שייכת קבוצה

כבר כיום ניתן להגדיר. Appletמחלקה זו עתידה לתפוס את מקומה של המחלקה . JFCלקבוצה גדולה יותר ששמה

תירש מהמחלקה כך שהיא כ JAppletמחלקה במחלקה . applet-כדי שתשמש שימוש JAppletשימוש מאפשר

.ובכך מאפשר להגיע לרמה גבוהה יותר של גרפיקה, SWING-במחלקות ה

© 2007 Zindell Technologies, Ltd.

Page 8: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

8

Graphicsהמחלקה

.זוהי מחלקה אבסטרקטית שמורישה לקבוצה של מחלקות שאובייקטים מטיפוסן מייצגים משטחים שניתן לצייר עליהם

מחלקה זו appletביצירתו של ). למשל Buttonאובייקט מטיפוס (המשטח יכול להיות המסך כולו או רכיב שמוסף למסך

.תשמש לציור גרפי וציור טקסטואלי על המסך

:המחלקה מספקת מתודות לביצוע הפעולות הבאות

טקסט) ציור(הדפסת

. . .)מעגל וכדומה, מלבן(ציור של קווים ושל צורות גרפיות אחרות

הצגת תמונות על המסך

)מוסיקה(השמעת צלילים

לאובייקט מטיפוס מחלקה referenceשהוא Graphicsמקבלת פרמטר מטיפוס Appletבמחלקה paintהמתודה

האובייקט. למתודה זו overridingנהוג לבצע appletבמחלקה שמגדירים מתוך כוונה שתהיה . Graphics- שיורשת מ

אליו מגיע מאפשר ביצוען של פעולות גראפיות שונות באמצעות המתודות השונות שמוגדרות במחלקה reference-שה

Graphics.

ה מוגבל בפעולותיו לממדי paintשדרכו מבצעים את פעולות הציור השונות בתוך המתודה Graphics-אובייקט ה -

applet כפי שנקבעו במסמך ה-html .בהפעלת המתודות השונות שתפקידן לצייר באמצעות אובייקט ה-Graphics על

ערכים אלה יחסיים לנקודה. נשלחים שני ערכים מספריים אשר מתארים את המיקום שבו הציור יבוצע applet-משטח ה

והערך השני מייצג את, הערך הראשון מייצג את המרחק ממנה לכיוון ימין. השמאלית העליונה של התחום שבו ניתן לצייר

applet-אם ה, באופן זה. html-הם הממדים שנקבעו במסמך ה applet-הממדים של חלון ה .המרחק ממנה לכיוון מטה

לבין 0יוכלו לנוע בין Y-ושיעורי ה, width-1לבין 0יוכלו לנוע בין X-אז שיעורי ה height- ו width: הוגדר כבעל הממדים

© 2007 Zindell Technologies, Ltd.

Page 9: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

9

height-1 . מטיפוס זו, כלומר( Graphicsאובייקט ממחלקה שיורשת מחלקה מטיפוס את) אובייקט בתוכו תוחם

:האינפורמציה הבאה

The Component object on which to draw

reference לאובייקט ה-Component אז ה, ואם לדייק. שעליו הציור יתבצע-reference הוא לאובייקט מטיפוס מחלקה

הן מחלקות שמתארות אובייקטים שניתן לצייר אליהם Component-המחלקות שיורשות מ. Component-שיורשת מ

משטחים שניתן להוסיף למסך ושניתן גם, כפתורים שניתן להוסיף למסך: כגון, Graphicsבאמצעות אובייקט מטיפוס

מבוצע על המסך paintהציור שמתבצע בתוך המתודה appletביצירתו של . אחרים Componentsאליהם להוסיף רכיבי

.applet-ובשטחו של ה

A translation origin for rendering and clipping coordinates

ושמשמשות לציור עושות שימוש Graphicsהמתודות שקיימות במחלקה . הנקודה שאליה פעולות הציור מתייחסות

(שיעורי הנקודה היחסית הם . במערכת קואורדינטות שבנויה באופן יחסי לנקודה מסוימת על המשטח שעליו מציירים

,הולך וגדל X-מנקודה זו לכיוון ימין שיעור ה. והיא תמיד הנקודה השמאלית העליונה של התחום שבו ניתן לצייר, )0,0

.הולך וגדל Y-ומנקודה זו לכיוון מטה שיעור ה

The current clip

שני המספרים: מספרים ממשיים 4והוא יוגדר באמצעות , clipתחום זה ייקרא בשם . התחום של הרכיב שבו ניתן לצייר

ושני המספרים השניים יתארו את רוחבו, הראשונים יהיו שיעורי הנקודה השמאלית העליונה של התחום שבו ניתן לצייר

.ואת אורכו של אותו תחום

The current color

וליתר(וניתן גם לכתוב טקסט , בתחום שבו ניתן לצייר ניתן לצייר צורות גרפיות שונות. הצבע שבו יבוצע הציור על הרכיב

© 2007 Zindell Technologies, Ltd.

Page 10: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

10

).לצייר טקסט, דיוק

The current font

. טקסט) לכתוב(ניתן גם לצייר , בתחום שבו ניתן לצייר. הפונט שבאמצעותו ייכתב טקסט על הרכיב

The current logical pixel operation function (XOR or Paint) & the XOR alternate color

ציור רגיל הוא ביצוע מדויק. XORוציור , ציור רגיל: יכול להתבצע באחד משני האופנים הבאים Component-הציור על ה

שבו כבר יש צבע של ציור) ריבוע קטן במסך( pixelהוא ציור שבכל XORוציור , של כל אחת מהמתודות שתפקידן לצייר

.XOR alternate color-הוא יהיה ה. current Color-אחר הצבע שבו הציור יבוצע יהיה שונה מה

להלן פירוט המתודות העיקריות שמשמשות לציור צורות גרפיות.

public abstract void drawLine(int x1, int y1, int x2, int y2)

.)x2, y2(- ו) x1, y1(לציור קו בין הנקודות

public void drawRect(int x, int y, int width, int height)

המלבן שיצויר ימוקם, כלומר. heightואורכו widthרוחבו , )x,y(לציור מלבן שפינתו השמאלית ממוקמת בקואורדינטות

:על המסך באופן הבא

)x,y(: פינתו השמאלית העליונה תופיע בקואורדינטות

)x+width, y(: פינתו הימנית העליונה תופיע בקואורדינטות

© 2007 Zindell Technologies, Ltd.

Page 11: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

11

)x+width, y+height(: פינתו הימנית התחתונה תופיע בוקאורדינטות הבאות

)x, y+height(: פינתו השמאלית התחתונה תופיע בקואורדינטות

public abstract void drawOval(int x, int y, int width, int height)

אם רוצים. שתחום על ידי המלבן שמימדיו מועברים אל המתודה הזו כמימדיו של מלבן) או מעגל(מתודה לציור אליפסה

.זהים height- ו widthלקבל מעגל יש לשלוח אל המתודה ערכי

public abstract void drawRoundRect(int x, int y, int width, int height,

int arcWidth, int arcHeight)

בעלי אותה משמעות כמו) משמאל לימין(ארבעת הערכים הראשונים שנשלחים . מתודה לציור מלבן עם פינות מעוגלות

הערך. מהווה את אורך הקטע האופקי המעוגל בכל פינה arcWidthהערך שנשלח אל הפרמטר . drawRectבמתודה

. מהווה את אורך הקטע האנכי המעוגל בכל פינה arcHeightשנשלח אל הפרמטר

public abstract void fillRect(int x, int y, int width, int height)

X-שיעור ה): על פי הסדר משמאל לימין(הערכים שנשלחים אל המתודה הם . מתודה לציור מלבן ומילויו בצבע שבו צויר

.רוחב המלבן ואורך המלבן, של הנקודה השמאלית העליונה Y-שיעור ה, של הנקודה השמאלית העליונה של המלבן

public abstract void fillOval(int x, int y, int width, int height)

אם. שתחום על ידי המלבן שמימדיו מועברים אל המתודה הזו כמימדיו של מלבן) או מעגל(מתודה לציור ומילוי אליפסה

.זהים height- ו widthרוצים לקבל מעגל יש לשלוח אל המתודה ערכי

© 2007 Zindell Technologies, Ltd.

Page 12: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

12

public abstract void drawArc(int x, int y, int width, int height,

int startAngle, int arcAngle)

שני הערכים. ארבעת הערכים הראשונים מאפיינים את האליפסה שהקשת שתצויר מהווה חלק ממנה. מתודה לציור קשת

).הזוית שלה(וגודל הקשת ) 15:00נמדדת נגד כיוון השעון החל השעה (האחרונים הם הזוית שמתחילה את הקשת

-בחלק זה סקרנו רק חלק מהמתודות שיכולות לשמש לציור צורות גרפיות שונות באמצעות הפעלתן על אובייקט ה

Graphics שה-referecne אליו הגיע אל המתודהpaint .בתכנית הבאה מודגמת פעולתן של חלק מהמתודות.

//filename:GraphicsDrawingDemo.java

import java.applet.*;

import java.awt.*;

public class GraphicsDrawingDemo extends Applet

{

public void paint(java.awt.Graphics g)

{

int xLeft = 10;

int yTop = 10;

int xRight = 500;

int yBottom = 300;

© 2007 Zindell Technologies, Ltd.

Page 13: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

13

g.drawRect (xLeft, yTop, xRight-xLeft, yBottom-yTop);

g.drawLine (xLeft, yTop, xRight, yBottom);

g.drawLine (xLeft, yBottom, xRight, yTop);

g.drawOval (xLeft, yTop, xRight-xLeft, yBottom-yTop);

}

public void init()

{

setBackground(Color.blue);

setForeground(Color.white);

}

}

:המתאים html-להלן קובץ ה, appletוכדי להפעיל

<applet code=”GraphicsDrawingDemo.class” width=400 height=400>

</applet>

לצייר paintאליו מצוי ברשותה של המתודה reference-אשר ה Graphic-ניתן באמצעות אובייקט ה, כפי שוודאי ראית

:המתודה ששימשה לביצוע פעולה זו הייתה. applet-טקסט בחלון ה

public abstract void drawString(String str, int x, int y)

© 2007 Zindell Technologies, Ltd.

Page 14: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

14

לאובייקט מטיפוס. Fontבאמצעות אובייקט מטיפוס המחלקה JAVA-סוג הגופן שבאמצעותו נכתב הטקסט מיוצג ב

: יש שלושה משתנים שמאפיינים אותו Fontהמחלקה

family -ערכים אפשריים .תכונה זו מתוארת באמצעות מחרוזת תווים .שם המשפחה שאליה אובייקט הגופן שייך

.“ Helvetica”, “TimesRoman”: שיכולים להיות לתכונה זו

style – במחלקה . תכונה זו מתוארת על ידי מספר שלם. סגנון הגופןFont כבר הוגדרו מספר קבועים סטטיים

:את כל אחד מהסגנונות האפשריים) כל אחד מהם(שמתארים

Plain Font.PLAIN

Bold Font.BOLD

Italic Font.ITALIC

Bold | Italic Font.BOLD | Font.ITALIC

size – שמשמעותו היא גודל הגופן בנקודות, תכונה זו מתוארת באמצעות מספר שלם. גודל הגופן.

הרצוי יש להתקינו אל Font-לאחר יצירת אובייקט ה. Fontלייצור אובייקט מהמחלקה , תחילה, כדי להשתמש בגופן יש

שמקבל constructorנעשית באמצעות Fontיצירת אובייקט חדש מטיפוס .שנמצא ברשותנו Graphic-תוך אובייקט ה

.Fontאת שלושת המאפיינים שיש לאובייקט מטיפוס

public Font(String name, int style, int size)

אשר מוגדרת במחלקה setFontבאמצעות המתודה Graphic-שיוצרים מתקינים אל תוך אובייקט ה Font-את אובייקט ה

Graphics .

public abstract void setFont(Font font)

תצויר באמצעות הגופן drawStringבאמצעות המתודה applet-כל מחרוזת שתצויר על מסך ה, לאחר ביצוע פעולה זו

. שהותקן

© 2007 Zindell Technologies, Ltd.

Page 15: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

15

אליו נמצא בתוך reference-שה Graphic-התכנית הבאה מדגימה שימוש פשוט בגופן שמגדירים ומחברים לאובייקט ה

.רואים כיצד הטקסט מופיע בגופן שהוגדר drawStringכאשר מפעילים את המתודה , ולאחר מכן, paintהמתודה

//filename:FontDemo.java

import java.applet.*;

import java.awt.*;

public class FontDemo extends Applet

{

static Font myFont = new Font ("Courier", Font.BOLD|Font.ITALIC,36);

public void paint(java.awt.Graphics g)

{

g.setFont(myFont);

g.drawString("COLORS ARE FUN !",50,25);

}

public void init()

{

setBackground(Color.orange);

© 2007 Zindell Technologies, Ltd.

Page 16: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

16

setForeground(Color.black);

}

}

.קטנה htmlלהלן תכנית , applet-וכדי להפעיל את ה

<applet code="FontDemo.class"

width=400 height=400>

</applet>

ברירת המחדל היא ציור בצבע. וצבע הרקע שלו ניתנים לשליטה באמצעות מתודות מתאימות, הצבע שבו מבוצע הציור

. או לבן בדפדפנים מסוימים(שחור על גבי רקע בצבע אפור כל צבע, כשפת תכנות מונחית עצמים JAVAכדרכה של )

אשר מתארים את instance variableיש שלושה משתני Colorבמחלקה . Colorמיוצג בה באמצעות אובייקט מטיפוס

ל יכול"כל אחד משלושת המשתנים הנ. בצבע המסוים שהאובייקט מתאר Blue- ו Red, Green: משקלם של הצבעים

קובעים למעשה את הצבע המדויק שהאובייקט, בקביעת הערכים לשלושת משתנים אלה. 255- ל 0לקבל ערך שהוא בין

צירוף של שלושה ערכים שונים שניתנים לשלושת משתנים אלה מייצג צבע אחר. מתאר לייצור. כל ניתן זו בדרך

.שיתארו צבעים רבים ומגוונים Colorאובייקטים חדשים מהמחלקה

להקל על המתכנת referencesאשר מכילים Colorמספר קבועים סטטיים מטיפוס Colorהוגדרו במחלקה , כדי

ואת משקל, הטבלה הבאה מפרטת את הקבועים שיצרו. אשר מייצגים את הצבעים הנפוצים Colorלאובייקטים מטיפוס

.שלושת צבעי היסוד בכל אחד מהם

© 2007 Zindell Technologies, Ltd.

Page 17: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

17

צבע Blue Green Red שם הקבוע

לבן 255 255 255 white

אפור בהיר 192 192 192 lightGray

אפור 128 128 128 gray

אפור כהה 64 64 64 darkGray

שחור 0 0 0 black

אדום 0 0 255 red

ורוד 175 175 255 pink

כתום 0 200 255 orange

צהוב 0 255 255 yellow

ירוק 0 255 0 green

255 0 255 magenta

255 255 0 cyan

כחול 255 0 0 blue

אשר ייצג את, Colorאשר באמצעותם ניתן לייצור אובייקט חדש מטיפוס constructorsקיימים מספר Colorבמחלקה

כדי שיוכנסו אל תוך המשתנים constructor-הערכים ששולחים אל ה( RGB-י ערכי ה"עפ, הצבע המסוים שבו רוצים

).בצבע שמייצג האובייקט החדש Blue- ו Red, Greenשמתארים את משקל הצבעים

:נעשית באמצעות המתודה הבאה Graphicsהשליטה בצבע הציור באמצעות מתודות ששייכות למחלקה

public abstract void setColor(Color c)

© 2007 Zindell Technologies, Ltd.

Page 18: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

18

ה אובייקט על שמופעלות המתודות באמצעות שנעשים הציורים יבוצעו שבו הצבע לקביעת משמשת זו -מתודה

Graphics.

public abstract Color getColor()

.שמתאר את הצבע הנוכחי שמשמש לציור Color-לאובייקט ה referenceמתודה זו משמשת לקבלת

© 2007 Zindell Technologies, Ltd.

Page 19: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

19

Applet - תגית ה

שכותבים HTML-יש לכלול במסמך ה HTMLמתוך מסמך APPLETכדי לכלול את הפעלתו של , כפי שוודאי שמת לב

והן, שכבתנו היו פשוטות למדי HTML-שמיקמנו במסמכי ה> APPLET<-תגיות ה, עד כה. >APPLET<את התגית

נסקור גם את. >APPLET<-בחלק זה נסקור את התכונות שניתן להוסיף אל תגית ה. כללו מספר מצומצם של תכונות

כדאי לראות, מוכרת לך HTML-אם שפת ה. ונסקור גם את אלה שטרם הוצגו, התכונות שכבר הזכרנו בתחילת הפרק

-גם התכונות שניתן להוסיף לתגית ה. >IMG<-תגית שהתנהגותה זהה לזו שיש לתגית ה> APPLET<- בתגית ה

APPLET דומות לתכונות שניתן להוסיף לתגית ה-IMG.

CODE התכונה

התכונה מקבלת את שם הקובץ עם הסיומת. של המחלקה javabytecode-תכונה זו מקבלת כערך את שמו של קובץ ה

class .אם הקובץ שייך ל-package מסוים אז יש לרשום לפני שם הקובץ את שמו של ה-package בצירוף נקודה

ביניהם ה. מפרידה קובץ ה HTML-אם בתכונה CLASS-וקובץ גם להשתמש יש אז ספריה באותה נמצאים לא

CODEBASE.

CODEBASE התכונה

נמצאים בספריות שונות אז יש להשתמש גם בתכונה זו בנוסף לשימוש בתכונה CLASS-וקובץ ה HTML-כאשר קובץ ה

CODE . הערך שיוכנס לתכונהCODEBASE הוא ה-path -למקום שבו קבצי הjava byte codeלדוגמאים. מאוחסנ,

אז html-אשר נמצאת בספריה שבה נמצא קובץ ה classesמאוחסנים בתת ספריה ששמה class-אם כל קבצי ה

:נרשום

<APPLET CODE=”Hello.class” CODEBASE=”CLASSES”>

</APPLET>

© 2007 Zindell Technologies, Ltd.

Page 20: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

20

WIDTH - ו HEIGHT התכונות

.applet-אשר בתוכו יוצג ה HTML-לתוך תכונות אלה יוכנסו ממדי החלון הגרפי במסמך ה

:לדוגמא

<APPLET CODE=”Hello.class” WIDTH=”600” HEIGHT=”400”>

text that will be seen if the browser doesn’t support applets…

</APPLET>

> APPLET </ - ו > APPLET < הטקסט שבין התגיות

הוא הטקסט שיופיע על המסך במקום שבו אמור APPLET-בין שתי תגיות ה HTML-הטקסט שייכתב במסמך ה

. applets-לא תומך ב HTML-כאשר הדפדפן שבו רואים את מסמך ה applet-להיראות ה

ALIGN התכונה

תכונה זו יכולה לקבל את). יישור לשמאל וכדומה, יישור לימין( HTML-ייושר במסמך ה applet-תכונה זו קובעת איך ה

:אחד הערכים הבאים

הערך המשמעות

LEFT הטקסט יגלוש עד אשר יגיע. ייושר לשמאל ויתרת הטקסט תגלוש סביבו applet-ה

כשבתוכה ממוקמת התכונה> BR<או עד אשר יגיע לתגית applet-לתחתית חלון ה

CLEAR ) לתכונהCLEAR יינתן אחד הערכים הבאים :RIGHT, LEFT או ALL(

.applet-אשר תגרום למעבר לשורה חדשה אל מתחת ל

RIGHT .למעט היישור לימין במקום לשמאל, LEFTכמו ההסבר למתן הערך

TOP לכיוון מעלה עם הרכיב הגבוה ביותר שישנו בשורה שבה הוא applet-ליישור ה

.HTML-ממוקם במסמך ה

TEXT TOP .appletעם הטקסט הגבוה ביותר שנמצא בשורה שבה מופעל ה applet-ליישור ה

MIDDLE .עם שורת הטקסט שבה הוא נמצא applet-ליישור האמצע של ה

© 2007 Zindell Technologies, Ltd.

Page 21: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

21

ABSMIDDLE .מיושר עם האמצע של הפריט הגדול ביותר בשורה applet-אמצעו של ה

BASELINE applet-מיושרת עם תחתית הטקסט שנמצא בשורה שבה ה applet-תחתית ה

.ממוקם

ABSBOTTOM .עם תחתית הפריט הנמוך ביותר בשורה applet-ליישור תחתית ה

בתחילה. באמצעות הדפדפן applet-כדי להיווכח באופן פעולתה כדאי לצפות ב. בתכנית הבאה מוצגת הדגמה לתכונה זו

.המתאים class-ולאחר מכן קובץ ה, HTML-מוצג קובץ ה

<html>

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="LEFT">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

© 2007 Zindell Technologies, Ltd.

Page 22: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

22

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="RIGHT">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="TOP">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

© 2007 Zindell Technologies, Ltd.

Page 23: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

23

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="TEXTTOP">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="MIDDLE">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

© 2007 Zindell Technologies, Ltd.

Page 24: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

24

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="ABSMIDDLE">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="BASELINE">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

© 2007 Zindell Technologies, Ltd.

Page 25: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

25

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="BOTTOM">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80 ALIGN="ABSBOTTOM">

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

© 2007 Zindell Technologies, Ltd.

Page 26: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

26

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80>

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

Well, right now I am sitting and try to create a good example that will

demonstrate the ALIGN attribute

to demonstrate all of its options.

<applet code="AlignDemo.class" width=400 height=80>

If your browser was Java-enabled, you could see a nice message regarding

COLORS

</applet>

It isn't simple to create good examples to demonstrate a command or a

capability that

exist in a Software programming language. The example should be clear and

effective./

</html>

© 2007 Zindell Technologies, Ltd.

Page 27: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

27

//filename:AlignDemo.java

import java.applet.*;

import java.awt.*;

public class AlignDemo extends Applet

{

private static int size;

Color background = Color.red;

public void paint(Graphics g)

{

g.drawString("ISRAEL",20,20);

}

public void init()

{

setBackground(Color.orange);

setForeground(Color.black);

}

}

© 2007 Zindell Technologies, Ltd.

Page 28: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

28

VSPACE - ו HSPACE התכונות

משמשת לקביעת HSPACEהתכונה . לבין הטקסט שמסביבו applet-בין ה) pixels-ב(משמשות לקביעת רוחב הריווח

)מעל ומתחת( Vertical-משמשת לקביעת הריווח ה VSPAVEוהתכונה) מימין ומשמאל( Horizontal-הריווח ה

ALT התכונה

)appletsתומך בהרצת ( APPLET-תכונה זו מכילה בתוכה טקסט אשר יוצג על ידי הדפדפן כאשר הוא מכיר את תגית ה

.זה appletאך הוא לא מסוגל להריץ

NAME התכונה

באמצעות מתן. applet-תכונה זו מקבלת לתוכה טקסט שמהווה את שמו של ה. שם applet-תכונה זו מאפשרת לתת ל

כמו. השני applet-אחד יכול לקרוא להפעלתן של מתודות על ה appletשונים שממוקמים באותו עמוד applets-שמות ל

לפרטים נוספים על(ולהפך java script-בתוך פונקציות שכתובות ב applet-ניתן לקרוא להפעלתן של מתודות על ה, כן

").java script-המדריך הישראלי ל: "שמאפשרת זאת ניתן לפנות לספרי live connect-טכנולוגיית ה

© 2007 Zindell Technologies, Ltd.

Page 29: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

29

applet- העברת פרמטרים אל ה

בדרך זו ניתן. שמפעיל אותו ערכים אל תוך פרמטרים מוגדרים מראש HTML-אשר מקבל ממסמך ה appletניתן לייצור

וזאת בהתאם לערכם של הפרמטרים כפי שאלה, אשר יפעל באופן מעט שונה בכל פעם שבו הוא יופעל appletלייצור

PARAM את התגית . PARAMבאמצעות התגית HTML-מגדירים במסמך ה. את הפרמטרים HTML-ייקבעו במסמך ה

יש שתי PARAMבתוך התגית . לבין התגית שמסיימת אותה APPLET-יש למקם בין התגית הפותחת את הקריאה ל

: תכונות

NAME – שם הפרמטר

VALUE – ערכו של הפרמטר

:דוגמא

<APPLET CODE=”HiWorld.class” WIDTH=300 HEIGHT=200>

<PARAM NAME=”color” VALUE=”BLUE”>

<PARAM NAME=”size” VALUE=”16”>

</APPLET>

:getParameterיכול לקרוא את ערכו של הפרמטר באמצעות המתודה applet-ה. אין שום מגבלה למספר הפרמטרים

public String getParameter(String str)

לאובייקט referenceהמתודה מקבלת את שמו של הפרמטר שאת ערכו היא רוצה לקבל וכתגובה לכך היא מחזירה

© 2007 Zindell Technologies, Ltd.

Page 30: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

30

לא, כלומר(אם הפרמטר לא קיים ). HTML-כפי שנכתב במסמך ה(אשר מתאר את ערכו של הפרמטר Stringמטיפוס

כדי לקבל בחזרה את(את הקריאה להפעלת מתודה זו . nullאז יוחזר ) applet-שמפעיל את ה HTML-הוגדר במסמך ה

. initנמקם בדרך כלל בתוך המתודה ) ערכו של פרמטר מסוים

מחזירה את getParameterכיוון שהמתודה . השימוש בערכו של פרמטר נעשה תחת ההנחה שהוא ערך מספרי, לעתים

כדי. לחלץ מתוך המחרוזת שהוחזרה את הערך המספרי המתאים, לעתים, יש צורך, ערכו של הפרמטר כמחרוזת תווים

לתרגם מחרוזת תווים לערך מספרי ניתן להיעזר במתודות הסטטיות המתאימות שמוגדרות במחלקות שמתארות את כל

Integerבמחלקה , כך למשל. Double- ו Integere, Character, Boolean, Long, Float: אחד מהטיפוסים הבסיסיים

אם פעולתה של. intשמתאר מספר שלם לערך מספרי שלם מטיפוס Stringאשר מתרגמת parseIntמוגדרת המתודה

נזרק parseIntהמתודה אז בפרמטרים applet-וגמא הבאה ה. בדבהתאם Exceptionלא מצליחה עושה שימוש

.אשר מגדירם HTML-שערכיהם מועברים אליו ממסמך ה

//filename:ParametersDemo.java

import java.applet.*;

import java.awt.*;

public class ParametersDemo extends Applet

{

private static int size;

private static Font myFont;

public void paint(java.awt.Graphics g)

© 2007 Zindell Technologies, Ltd.

Page 31: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

31

{

g.setFont(myFont);

g.drawString("COLORS ARE FUN !",50,25);

}

public void init()

{

String str = getParameter("size");

size = Integer.parseInt(str);

setBackground(Color.orange);

setForeground(Color.black);

showStatus("important COLORS MESSAGE !");

myFont = new Font ("Courier", Font.BOLD |

Font.ITALIC,size);

}

}

:המתאים HTML-זה להלן מסמך ה appletוכדי להפעיל

<applet code=”ParametersDemo.class” width=”600” height=”600”>

<param name=”size” value=”6”>

</applet>

© 2007 Zindell Technologies, Ltd.

Page 32: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

32

אשר, String לאובייקטים מסוג referencesלמערך דו מימדי של reference מחזירה getParametersInfoהמתודה

.HTML-שנמצאת במסמך ה applet-כוללים אינפורמציה על הפרמטרים שמופיעים בקריאה להפעלת ה

public String [][] getParameterInfo()

© 2007 Zindell Technologies, Ltd.

Page 33: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

33

applet-מחזור החיים של ה

אובייקט שנוצר, למעשה, מהווה applet-ה. נתמך בפעולותיו על ידי הדפדפן htmlשמופעל מתוך מסמך applet-ה

ומקבלת ממנה בהורשה, Appletהמחלקה שאנו מגדירים יורשת מהמחלקה . applet-מהמחלקה שהגדרנו כדי שתפעל כ

,מתודות אלה ניתן. מופעל applet-שנקראות להפעלה על ידי הדפדפן כאשר ה) instance methods( מספר מתודות

.מתודות עיקריות שחשוב להכיר 5מבין מתודות אלה קיימות ). overriding(להגדיר מחדש , כמובן

init המתודה

מועלה על ידי הדפדפן מהשרת applet-היא מופעלת כאשר ה. Applet-זוהי המתודה הראשונה שמופעלת על אובייקט ה

.constructor-תפקידה דומה לתפקיד שיש ל. כדי להתחיל להריץ אותו

public void init()

אשר יבואו לידי ביטוי בצורתו, applet-מקובל למקם בה הגדרות ראשוניות ל) overriding(בהגדרת מתודה זו מחדש

-ולקרוא את ערכיהם של פרמטרים שנשלחים אל ה applet-לייצור בתוכה את האובייקטים שישמשו את ה, הגרפית

applet מקובץ ה-html .

start המתודה

. ()initזוהי המתודה שמופעלת מייד לאחר שמופעלת המתודה

public void start()

עשויה לפעול startהמתודה , וזאת קורה כאשר הוא מועלה, applet מופעלת רק פעם אחת בכל initבעוד שהמתודה

,אחר htmlלעמוד html-תפעל שוב אם עזבנו את עמוד ה startהמתודה . appletיותר מפעם אחת במהלך ריצתו של

.האמור או אם הגדלנו את חלון הדפדפן לאחר שהופיע בגודל מינימום applet-ולאחר מכן חזרנו אל העמוד שמכיל את ה

נהוג למקם בתוך המתודה. לא תפעל שוב) ברוב הדפדפנים( initהמתודה . תפעל שוב startרק המתודה , במקרים כאלה

start שמגדירים מחדש את הקריאות להפעלת ה-threads מתן הוראות לאובייקטים שונים שאמורים לפעול ב, השונים-

© 2007 Zindell Technologies, Ltd.

Page 34: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

34

applet ,אילו היינו ממקמים את הפקודות שגורמות להתחלת המוסיקה במתודה , כך למשל. התחלת השמעת מוסיקהinit

המקורי המוסיקה לא הייתה html-ולאחר מכן חוזרים לעמוד ה, לעמוד אחר html-אז כאשר היינו עוזבים את עמוד ה

ישנם applet-לא אמורה לפעול כאשר חוזרים עם הדפדפן לעמוד שבו מוקם ה initלמרות שהמתודה. מתחילה מחדש

.מופעלת שוב() initדפדפנים שבהם המתודה

paint המתודה

הדפדפן קורא להפעלתה של. applet-ובכל פעם שיש צורך לצייר מחדש את ה, startמתודה זו מופעלת אחרי המתודה

ובכל קריאה כזו הוא מעביר אל המתודה, applet-מתודה זו בכל פעם שיש צורך לצייר מחדש את החלון הגראפי של ה

reference לאובייקט מטיפוסGraphics שהוא יוצר ושמתאר את המשטח שבו ה-applet מוצג.

public void paint(Graphics g)

stop המתודה

-אל עמוד אחר או כאשר ה applet-שממנו הופעל ה html-מתודה זו מופעלת על ידי הדפדפן כאשר הוא עוזב את עמוד ה

applet נהיה בלתי נראה כי החלון שבו פועל הדפדפן שינה את גודלו לגודל הקטן ביותר.

public void stop()

הסתיימה. נהוגappletתפקידה של מתודה זו הוא לעצור את כל הפעולות שאין צורך בהמשך ביצוען לאחר תצוגתו של ה-

ושאין צורך שימשיכו להתבצע כאשר לא, CPUלמקם בתוך מתודה זו את כל הפקודות להפסקת הפעולות שצורכות זמן

שאין צורך בהמשך פעולתם כאשר threads-ה )השהיית(נמקם בתוך מתודה זו את הפסקת , כך למשל. applet-צופים ב

הפעולות שמופסקות. startגם את הפסקתה של מוסיקה שהתחלנו את השמעתה במתודה , וכמו כן, applet-לא צופים ב

threadsלא כולל בתוכו applet-אם ה, דרך כלל. בstartהן גם הפעולות שאת הפעלתן נמקם בתוך stopבתוך המתודה

ולחדש את פעולתם כאשר הדפדפן חוזר אליו אז אין צורך לממש, html-שיש להשהות כאשר הדפדפן עוזב את עמוד ה

.stop- ו startאת המתודות

© 2007 Zindell Technologies, Ltd.

Page 35: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

35

destroy המתודה

.stopמתודה זו מופעלת אחרי המתודה

public void destroy()

יש לכתוב אותה מחדש כדי. על ידי הדפדפן משוחרר applet-מתודה זו מופעלת רגע לפני שהזיכרון שמשמש להצגת ה

ניתנת להפעלה עלfinalize-אלא שבעוד ש finalizeמתודה זו דומה למתודה . applet-לשחרר משאבים ששימשו את ה

stopהמתודה . stopיש לשים לב להבדל בין מתודה זו למתודה . appletsעל מתודה זו ניתנת להפעלה רק , כל אובייקט

רק לאחר שהופעלה, מתודה זו תיקרא תמיד. מחסלת אותו סופית destroyוהמתודה , applet-עוצרת את פעולתו של ה

כן. stopהמתודה עוזב את עמוד ה, כמו המתודה. מופעלת stopבאופן אוטומטי המתודה html-כאשר הדפדפן

destroy בעת סגירתו של הדפדפן, כמו למשל, מופעלת רק כאשר הדפדפן עוזב אותו באופן סופי.

כיוון, appletviewer- כדאי להפעילה באמצעות ה. התכנית הבאה מדגימה בפעולתה את סדר הפעלתן של מתודות אלה

Sun Microsystems-ש specification-אופן הפעולה שהוצג הנו על פי ה. שלא כל הדפדפנים פועלים באופן שהוצג

.פרסמה

//filename:FiveMethodsDemo.java

import java.applet.*;

import java.awt.*;

© 2007 Zindell Technologies, Ltd.

Page 36: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

36

public class FiveMethodsDemo extends Applet

{

public void init()

{

showStatus("public void init()");

System.out.println("public void init()");

}

public void start()

{

showStatus("public void start()");

System.out.println("public void start()");

}

public void paint(Graphics g)

{

showStatus("public void paint(Graphics g) starts");

System.out.println("public void paint(Graphics g) starts");

g.drawString("COLORS ARE FUN !",50,25);

g.drawLine(0,99,149,99);

© 2007 Zindell Technologies, Ltd.

Page 37: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

37

g.drawLine(0,0,149,0);

g.drawLine(0,50,149,50);

showStatus("public void paint(Graphics g) finishes");

System.out.println("public void paint(Graphics g) finishes");

}

public void stop()

{

showStatus("public void stop()");

System.out.println("public void stop()");

}

public void destroy()

{

showStatus("public void destroy()");

System.out.println("public void destroy()");

}

}

שיכול למלא תפקיד htmlלהלן מסמך . מתאים שמתוכו הוא יופעל htmlלייצור מסמך , כמובן, זה יש appletכדי להפעיל

:האמור applet-זה בנוגע ל

© 2007 Zindell Technologies, Ltd.

Page 38: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

38

<applet code="FiveMethodsDemo.class" width="600" height="400">

</applet>

paintהמתודה . מחדש applet-מופעלת באופן אוטומטי כאשר יש צורך לצייר את החלון הגרפי של ה paintהמתודה

:מופעלת בשני מצבים

:שינוי זה יכול להתרחש במצבים שונים. נוצר צורך לצייר את החלון מחדש עקב שינוי בתצוגה שלו. 1

ודלו של החלון השתנה ג

מיקומו של החלון השתנה

.השתנו applet-ממדיו או מיקומו של חלון אחר שהסתיר חלק מהחלון של ה

updateהיא מפעילה את המתודה repaintכאשר מופעלת המתודה . repaintקריאה יזומה להפעלת המתודה . 2

.paintומתודה זו מפעילה את המתודה

.אין לקרוא להפעלתה באופן ישיר, תופעל paintרוצים שהמתודה , כלומר, יצויר מחדש applet-אם רוצים לגרום לכך שה

גם( repaintהמתודה . repaintיש לקרוא להפעלתה של המתודה . כדי שהיא תפעל יש לקרוא להפעלתה באופן עקיף

,updateקוראת להפעלתה של המתודה repaintהמתודה . באופן ישיר paintלא קוראת להפעלתה של המתודה !) היא

. paintהיא זו שקוראת להפעלתה של המתודה updateוהמתודה

public void update(Graphics g)

ולאחר מכן, מציירת מחדש את הרקע של החלון הגרפי Appletבאופן שבו היא נכתבה במחלקה – updateהמתודה

מחדש ובכך updateניתן להגדיר את המתודה . כדי לצייר מחדש את כל המסך paintקוראת להפעלתה של המתודה

. להביא לאופטימיזציה את הציור מחדש של המסך

© 2007 Zindell Technologies, Ltd.

Page 39: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

39

.מספר מתודות שמאפשרות לשלוט בצבעים Componentיורשת מהמחלקה Appletהמחלקה

public void setBackground (Color color)

.applet- לקביעת צבע הרקע של ה

public void setForeground(Color color)

.applet-לקביעת הצבע שבו יצויר על המסך של ה

public Color getBackground()

.applet-שמייצג את הצבע שמשמש בתור צבע הרקע של ה Color-לאובייקט ה referenceלקבלת

public Color getForeground()

.applet-שמייצג את הצבע שבו מצוייר על המסך של ה Color-לאובייקט ה referenceלקבלת

ה של הרקע שצבע פעולתו applet-כיוון במהלך משתנה לא כלל המתודה, בדרך הפעלת את למקם נהוג

setBackground בתוך המתודהinit אשר מופעלת באופן אוטומאטי עם התחלת פעולתו של ה-applet .מתודות נוספות

הן Graphicsבחלק שבו סקרנו את המחלקה . Graphicsשיכולות לשמש לשינוי הצבע של הציור קיימות במחלקה

. הוסברו באופן מסודר

אשר מאפשרים לייצור constructorsקיימים מספר Colorבמחלקה , Graphicsכפי שכבר הוסבר בחלק שדן במחלקה

וגוון אפשרי Colorאובייקטים חדשים מטיפוס בתכנית הבאה מודגם אופן יצירתו של אובייקט חדש. לייצוג כל צבע

.Graphicsוכמו כן מודגם גם השימוש במתודות לשינוי צבע הציור שמוגדרות במחלקה , Colorמטיפוס

© 2007 Zindell Technologies, Ltd.

Page 40: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

40

//filename:ColorExample.java

import java.applet.*;

import java.awt.*;

public class ColorExample extends Applet

{

public void paint(java.awt.Graphics graphic)

{

int r=100;

for (int g=0; g<=255; g+=45)

{

for (int b=0; b<=255; b+=45)

{

graphic.setColor(new Color(r,g,b));

graphic.fillRect(b,g,45,45);

}

}

}

public void init()

© 2007 Zindell Technologies, Ltd.

Page 41: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

41

{

setBackground(Color.lightGray);

}

}

:מתאים htmlיש כמובן לייצור קובץ , זה appletוכדי להפעיל

<applet code="ColorExample.class" width=400 height=400>

</applet>

:Appletהמתודה שמוגדרת במחלקה . Imageמיוצגת על ידי אובייקט מטיפוס appletתמונה שמוצגת באמצעות

getImage מחזירהreference מטיפוסImage . בהפעלתה יש לשלוח אליהreference לאובייקטURL שמייצג את

. java.net: ששמו package-מוגדרת ב URLהמחלקה . מיקומה של התמונה

מספקת מספר Appletהמחלקה html-מסמך ה/applet-כיוון שקבציי התמונה נמצאים בדרך כלל במקום יחסי למיקום ה

.URLלאובייקטים מסוג referencesמתודות לקבלת

public URL getDocumentBase()

.html-אשר מייצג את המיקום של מסמך ה URL לאובייקט מטיפוס reference מחזירה

public URL getCodeBase()

.JavaByte code-אשר מייצג את המיקום של קובץ ה URL לאובייקט מטיפוס reference מחזירה

© 2007 Zindell Technologies, Ltd.

Page 42: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

42

הודות לשתי מתודות אלה ניתן לשנות את המיקום שבו נשמרים קבצי האתר מבלי שיהיה צורך לשנות את שורות הקוד

אשר יתאר Imageניתן לייצור אובייקט מטיפוס , שבו נמצא הקובץ שמתאר תמונה URL-לאחר שידוע ה. יתר על המידה

המחלקה. תומכת במספר רב של פורמטים לשמירת תמונות בקבצים JAVA 2שפת התכנות . את התמונה שבקובץ

java.awt.Image היא המחלקה שאובייקטים מטיפוסה מייצגים תמונה.

:קיימת המתודה הבא Appletבמחלקה

public Image getImage(URL url, String name)

כדאי לשים לב לכך שאם. והארגומנט השני הוא שמו של הקובץ, שבו נמצא הקובץ URL-הארגומנט הראשון הוא ה

ובכך, כיוון שהעלאת תמונות מאתר ברשת לוקח זמן .exceptionהמיקום שנישלח אל המתודה שגוי אז היא לא זורקת

בדרך זו גם תמנע פעילות לא. initמומלץ למקם את כל הקריאות להפעלת מתודה זו במתודה , applet-מואטת פעולת ה

.ירוץ מהר יותר applet-וה, בהמשך applet-צפויה של ה

קיימות .Graphicsששייכת למחלקה drawImageהיא המתודה Image-המתודה שבאמצעותה מציגים את אובייקט ה

.מספר מתודות חופפות בשם זה

public abstract boolean drawImage(Image img, int x, int y,

ImageObserver observer)

לאובייקט מטיפוס referenceהערך השלישי שהיא מקבלת הוא . drawImageזוהי מתודה אחת מבין המתודות ששמן

ImageObserver . ערך זה יכול להיותthis כיוון שהמחלקהApplet יורשת מהמחלקהComponent ,ובהגדרתה יושם

,למעשה, מתודה זו קוראת. הקואורדינטות הן של הנקודה השמאלית העליונה. ImageObserverששמו interface-ה

.כל פעם שמגיעה פיסת מידע חדשה repaintוהאחרונה קוראת להפעלתה של imageUpdateלהפעלתה של המתודה

© 2007 Zindell Technologies, Ltd.

Page 43: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

43

public abstract drawImage(Image img, int x, int y, width, height,

ImageObserver observer)

בדיוק את אותו) שקיים גם בגרסה הקודמת(בגרסה זו מקבל כל אחד מהארגומנטים . זוהי גרסה נוספת לגרסה הקודמת

באמצעות מתודה. שני הארגומנטים הנוספים מציינים את ממדיה החדשים של התמונה. ערך וטיפוס כמו בגרסה הקודמת

. או למתוח את התמונה/לכווץ ו, למעשה, זו ניתן לשנות את ממדי התמונה המוצגת ובכך

© 2007 Zindell Technologies, Ltd.

Page 44: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

44

appletהסביבה שבה פועל ה-

קיימות מספר מתודות שבאמצעותן ניתן Appletבמחלקה . שנצפה על ידי הדפדפן htmlמופעל מתוך מסמך applet-ה

יורשת applet-כיוון שכל מחלקה שמוגדרת מתוך כוונה שתפעל כ. applet-להשפיע על פעולתו של הדפדפן שמציג את ה

.שכותבים applet-ניתן להשתמש במתודות אלה ב, Appletמהמחלקה

של status bar- ניתן להציג מחרוזת של תווים בשורת ה Appletששייכת למחלקה showStatusבאמצעות המתודה

.והן לשם מתן אינפורמציה למשתמש debuggingאפשרות זו יכולה לשמש הן לצורך . הדפדפן

public void showStatus(String msg)

String-שלו את המחרוזת שמתוארת על ידי אובייקט ה stasus bar-מתודה זו מעבירה בקשה לדפדפן כי יציג בשורת ה

.msgאליו נשלח אל הפרמטר reference-שה

referenceומקבל בחזרה getAppletContext: קורא להפעלתה של המתודה applet-ה, כדי לתקשר עם הדפדפן

: interface-לאובייקט מטיפוס מחלקה שמיושם בה ה AppletContext . ניתן לראות בו ייצוג של דף ה– אובייקט זה-

HTML שבו מוצג ה-applet.

applets ששייכים לאותוCODEBASE , ומוצגים באותו מסמךHTML כדי לבצע. יכולים לתקשר עם כל אחד מהאחרים

-על אובייקט ה. applets-של כל אחד מה APPLET-אל כל אחת מתגיות ה NAMEקשר זה יש להוסיף את התכונה

AppletContext )אובייקט שהreference אליו מאוחסן במשתנה מטיפוסAppletContext (ניתן להפעיל את המתודה:

public Applet getApplet(String str)

© 2007 Zindell Technologies, Ltd.

Page 45: (Applets) םינומושיי - המדריך הישראלי ל-Javajavabook.co.il/book/applets.pdf · 2016-08-14 · 6 JAVA-ה תסרג :האבה היצמרופניאה טעמל ,םילעופ

45

שמגיע ניתן refernce-באמצעות ה. HTMLאחר באותו דף appletשמייצג Appletלאובייקט מטיפוס referenceולקבל

.האחר applet-להפעיל מתודות שונות על ה

© 2007 Zindell Technologies, Ltd.