Java מתקדם | JavaFX

Download Report

Transcript Java מתקדם | JavaFX

‫קורס ‪ Java‬מתקדם‬
‫‪JavaFX‬‬
‫קרן כליף‬
‫‪ Java‬מתקדם |‬
‫‪2 | ©Keren Kalif |JavaFX‬‬
‫ביחידה זו נלמד‪:‬‬
‫‪ ‬מהו ‪JavaFX‬‬
‫‪ ‬עיצוב באמצעות ‪css‬‬
‫‪ ‬הגדרת ‪ GUI‬באמצעות ‪fxml‬‬
‫‪ ‬תוספות ב‪JDK 8 -‬‬
‫‪ Java‬מתקדם |‬
‫‪3 | ©Keren Kalif |JavaFX‬‬
‫מהו ‪JavaFX‬‬
‫‪ ‬אוסף מחלקות של רכיבים גרפיים המאפשריים לייצר ‪ GUI‬בצורה מודולרית יותר מאשר‬
‫‪:swing‬‬
‫‪o‬‬
‫באמצעות ‪ JavaFX‬ניתן להפריד בין הקוד שבונה את ה‪ GUI -‬לבין הקוד שמעצב אותו‬
‫‪ ‬דוגמא‪:‬‬
‫‪ Java‬מתקדם |‬
‫‪4 | ©Keren Kalif |JavaFX‬‬
‫דוגמא ראשונה‪Hello World :‬‬
‫‪ Launch‬ממומשת ב‪Application -‬‬
‫ומפעילה את המתודה ‪start‬‬
‫ה‪ Stage -‬שקול ל‪Top Level Container -‬‬
‫של החלון (שקול למשל ל‪)Jframe -‬‬
‫ה‪ Scene -‬שומרת בעץ‬
‫היררכי את כל רכיבי החלון‬
5 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
‫תרשים היררכי של הדוגמא‬
http://docs.oracle.com/javafx/2/get_started/hello_world.htm
6 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
FlowPane -‫דוגמא לשימוש ב‬
7 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
‫דוגמאות הרצה‬
‫‪ Java‬מתקדם |‬
‫‪8 | ©Keren Kalif |JavaFX‬‬
‫עבודה עם ‪css‬‬
‫‪ )Cascading Style Sheets( CSS ‬היא שפה המכילה הגדרות עיצוב לדפי ‪ :html‬פונטים‪,‬‬
‫צבעים‪ ,‬גודל פונט‪ ,‬רקע‪ ,‬הצללות וכו'‬
‫‪ JavaFX ‬יודעת לעבוד עם קובץ ‪ ,css‬ומכך אחת החוזקות שלה היא היכולת לבנות את הטופס‬
‫ולעצב אותו ע"י שני מתכנים שונים‬
‫תגיות המוגדרות בשפה‬
‫תגית חדשה‬
‫‪ Java‬מתקדם |‬
‫‪9 | ©Keren Kalif |JavaFX‬‬
‫דוגמא עם ‪css‬‬
‫פקודה שקובעת שעיצוב הפקד ילקח‬
‫מהתגית ‪ my-label‬ב‪css -‬‬
‫קישור ל‪ css -‬המכיל‬
‫את הגדרות העיצוב‬
‫‪ Java‬מתקדם |‬
‫‪10 | ©Keren Kalif |JavaFX‬‬
‫הפלט‬
‫‪ ‬עיצוב ה‪'label -‬ים שונה‪:‬‬
‫עיצובו נגזר מהתגית‬
‫המובנית ‪.label‬‬
‫עיצובו נגזר מהתגית‬
‫‪ my-label‬ב‪css -‬‬
11 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
‫דוגמאות נוספות‬
BordersExample 
WelcomeWithCss 
‫‪ Java‬מתקדם |‬
‫‪12 | ©Keren Kalif |JavaFX‬‬
‫‪FXML‬‬
‫‪ ‬שפה המבוססת ‪ XML‬לבניית ממשק משתמש ללא צורך בקימפול הפרוייקט‬
‫הקובץ עם הגדרת‬
‫רכיבי ה‪GUI -‬‬
‫‪ Java‬מתקדם |‬
‫‪13 | ©Keren Kalif |JavaFX‬‬
‫דוגמאת ‪fxml‬‬
‫המחלקה עם מימושי‬
‫האירועים (‪)controller‬‬
‫הגדרת אירוע‬
‫קישור למשתנה שמוגדר‬
‫ב‪controller -‬‬
14 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
controller -‫מחלקת ה‬
15 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
fxml ‫דוגמא נוספת של‬
menu.fxml 
‫‪ Java‬מתקדם |‬
‫‪16 | ©Keren Kalif |JavaFX‬‬
‫דוגמאת "הישרדות"‬
‫לשים לב בקוד לשימוש‬
‫בתיבות‬
17 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
‫לינקים שימושיים‬
)‫ שנמצא בזיפ‬jfxrt.jar ‫ ) (הקובץ‬JDK 8 -‫ (נמצא כבר ב‬JavaFX -‫ עם מחלקות ה‬jar -‫ ה‬
http://docs.oracle.com/javafx/ :oracle ‫ המדריך המצויין של‬
‫ שנמצא‬javafx-dialogs-0.0.3.jar ‫) (הקובץ‬7 ‫ שמכיל את המחלקות לתיבות (לגרסה‬jar -‫ ה‬
)‫בזיפ‬
:‫לינק לדוגמאות שימוש‬
http://edu.makery.ch/blog/2012/10/30/javafx-2-dialogs
o
: )‫ שנמצא בזיפ‬controlsfx-8.0.6.jar ‫ (הקובץ‬8 ‫ לגרסה‬
http://code.makery.ch/blog/javafx-8-dialogs/:‫לינק לדוגמאות שימוש‬
http://html-color-codes.info/ :‫למציאת קוד צבע‬
o
‫‪ Java‬מתקדם |‬
‫‪18 | ©Keren Kalif |JavaFX‬‬
‫פרטים טכניים‬
‫‪ ‬יש להתקין את ‪ JDK‬גרסא ‪ 1.7‬ומעלה‪ ,‬ובפרט ה ‪jfxrt.jar‬‬
‫‪o‬‬
‫בגרסאת ‪ JDK 8‬אין צורך בהוספת ‪ jar‬זה‬
‫‪ ‬ה‪ main -‬אינו נחוץ כאשר עוטפים את הקוד ל‪ jar -‬באמצעות ה‪ JavaFX Package Tool -‬אבל‬
‫מומלץ תמיד לשים ‪ main‬עבור ‪'jar‬ים שנעטפו להרצה בצורה הרגילה‪ ,‬ללא ה‪JavaFX -‬‬
‫‪Launcher‬‬
19 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
‫נושאים נוספים‬
‫ אנימציות‬
‫ גרפים‬
‫ אריזת הפרוייקט‬
html ‫ הטמעת הפרוייקט בדף‬
http://www.oracle.com/technetwork/java/javase/downloads/jdk7- :‫ דוגמאות‬
downloads-1880260.html
‫ וניתן להריצו עם לחיצה כפולה‬executable jar ‫ זהו‬.demo -‫יש להוריד את קובץ ה‬
o
20 | ©Keren Kalif |JavaFX
| ‫ מתקדם‬Java
JDK 8 -‫מה חדש ב‬
http://java.dzone.com/articles/whats-new-java-8-part-i-javafx 
‫‪ Java‬מתקדם |‬
‫‪21 | ©Keren Kalif |JavaFX‬‬
‫ביחידה זו למדנו‪:‬‬
‫‪ ‬מהו ‪JavaFX‬‬
‫‪ ‬עיצוב באמצעות ‪css‬‬
‫‪ ‬הגדרת ‪ GUI‬באמצעות ‪fxml‬‬
‫‪ ‬תוספות ב‪JDK 8 -‬‬