1 of 22

יצירת רכיבים

דרך פקודות

של שפת Java

2 of 22

ביצירת רכיבים דרך קובץ xml

יש המון יתרונות,

במיוחד מבחינת העיצוב:

נתן לקראות מיד

תצאה של כל הגדרת התכונה.

Dynamic creation of components

3 of 22

אבל יש גם חסרונות, כמובן.

בין הבולטות היא צורך

לקבל הרבה (עשרות) רכיבים מסוג מסוים.

עוד אחד: לקבל מספר רכיבים

שהוא תלוי בנתון הנקלט בזמן ביצוע

(אין אפשרות לדעת מראש כמה רכיבים צריך)

Dynamic creation of components

4 of 22

בין הבולטות היא צורך

לקבל הרבה (עשרות) רכיבים מסוג מסוים.

למשל: אפליקציה בנושא "מערך דו-ממדי"

בה צריך להציג על המסך

מערך בגודל 6X8

(כל תא = רכיב)

אפשר לצור את זה דרך xml,

אבל חבל על המאמץ וזמן...

Dynamic creation of components

5 of 22

לקבל מספר רכיבים

שהוא תלוי בנתון הנקלט בזמן ביצוע

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

למשל: אפליקציה לרישום ילדים לגן או בית-ספר,

כאשר לפני רישום פרטי כל ילד

הורה מזין מספר ילדים.

Dynamic creation of components

6 of 22

נעשה דוגמה על מערך:

איך לצור מספר רב של לחצנים,

כאשר כל לחצן מציג תא אחד במערך.

Dynamic creation of components

7 of 22

בגדול, אין שום בעיה לצור רכיבים

דרך שפת Java,

כי כל רכיב הוא, בפועל, עצם.

לכן פקודות ליצירת רכיבים

נראות ממש כמו כל פקודות

ליצירת עצם כללי.

Dynamic creation of components

8 of 22

מה שבאמת חשוב:

לאיזה רכיב לצרף את הרכיב

אותו יוצרים דרך Java!

בקובץ xml כל רכיב

באופן "טבעי" שייך לאיזה רכיב אחר

(פרט מרכיב "שורשי", רכיב ראשי)

Dynamic creation of components

9 of 22

אפשר לראות את ה"שייכות"

בחלון של

Component Tree

Dynamic creation of components

10 of 22

כאשר רוצים לצור רכיב דרך Java

צריך להחליט לאיזה רכיב

הוא יהיה שייך

ולתת id ל"רכיב הורה"

(parent element)

Dynamic creation of components

11 of 22

באפליקציה עם מערך דו-ממדי

בתור "רכיב הורה"

נשתמש ב-GridLayout,

איתה קל ונוח לצור

קבוצה "משובצת" של רכיבים

Dynamic creation of components

12 of 22

באפליקציה עם מערך דו-ממדי

בתור "רכיב הורה"

נשתמש ב-GridLayout,

איתה קל ונוח לצור

קבוצה "משובצת" של רכיבים

Dynamic creation of components

מזהה (id)

מספר עמודות

(מספר מקסימלי של תאים בכל שורה)

13 of 22

מתחילים לעבוד כרגיל

Dynamic creation of components

14 of 22

יוצרים מערך לחצנים,

וקובעים חלק מהתכונות

ומצריך רכיבים ל"רכיב הורה"

Dynamic creation of components

15 of 22

Dynamic creation of components

יוצרים לחצן

16 of 22

Dynamic creation of components

קובעים רוחב וגובה

17 of 22

Dynamic creation of components

מחדשים

18 of 22

Dynamic creation of components

מרווח פנימי

19 of 22

Dynamic creation of components

טקסט על הלחצן

20 of 22

Dynamic creation of components

מזהה לכל לחצן

21 of 22

Dynamic creation of components

הכי חשוב: מוסיפים רכיב חדש ל"רכיב הורה"

22 of 22

Dynamic creation of components

וזאת התוצאה