FileSaveDialog

מיכל202

New member
FileSaveDialog

בס"ד
יש לי מטלה.
(היערה: אנו משתמשים בנטבינס ומותר לנו להשתמש בדיזיין - אנחנו לא חייבים לייצר את כל הקוד בעצמינו.)
במטלה רוצים שאני אצור כתבן - כלומר תוכנית שבה המשתמש יכול לכתוב טקסט, כמו Notrpad.
בתוכנית צריך להופיע שלושה תפריטים: Edit ,File ו- Help.
שתי שאלות:

1) בתפריט File צריך להיות שתי אופציות:
א) שמור - כלומר שמירת קובץ טקסט על דיסק ע"י FileSaveDialog
ב) פתח - כלומר קריאת קובץ מדיסק ע"י FileOpenDialog
(היערה קטנה: במטלה כתוב Dialod ולא Dialog - בשני המקומות. זה אומר משהו? יש דבר כזה דבר FileSaveDialod? לא? אז לא משנה)
השאלה שלי היא שאני לא מבינה ממש מה זה אומר. כלומר, אני יכולה בהחלט ליצור תוכנית ולשמור את מה שהמשתמש כתב בקובץ טקסט - ע"י קוד שאני אכתוב בעצמי שמן הסתם יכלול שימוש במחלקת כתיבת/קריאת טקסט של ג'אווה
אבל חבר שלי מהלימודים אמר ש- FileSaveDialog זה משהו שכבר קיים ואני צריכה "להתממשק" אליו. שאלתי אותו אם זה ממשק או מחלקה בג'אווה והוא אמר שלא והוא לא היה יכול להסביר לי יותר.
חיפשתי FileSaveDialog בגוגל ואכן מצאתי הרבה תשובות - אבל כולם הן בעצם קודים/מחלקות שאנשים בנו. למשל כל מני אוניברסיטאות (ניויורק, גרמניה, בריטניה) יצרו מחלקות משלהם וקראו להם FileSaveDialog ואני יכולה לראות את ה- interface של זה, כלומר את הג'אווה דוק של זה. הייתי משתמשת בזה בכיף פשוט לא נראה לי שהדברים הללו הופצו בפומבי כך שכל אחד שעובד עם ג'אווה פשוט יכול לזמן אותם.
מה שעוד חרא לי הוא שהקוד של הדברים הללו היה ארוך מאוד - מה הקוד שאני יכולה לייצר הוא דווקא די קצר - מה שגורם לי לחשוב שאולי אני טועה. וחוץ מזה שבמטלה כתוב בפירוש להשתמש ב- FileSaveDialog.
בקיצור השאלה שלי, ע"פ מה שסיפרתי עד עתה, נראה לכם שאני צריכה להשתמש באחד הקודים שבאינטרנט, או שמותר לי לעשות זאת בדרך שלי (מה שאני מעדיפה)
ולכל מי שרוצה לשלוח אותי לדבר עם המרצה - הייתי עושה זאת לו זה היה אפשרי

שאלה 2) בתפריט Edit אנו אמורים לגזור טקסט ולהדביק טקסט. שוב, במטלה לא מפורט יותר מזה, אבל אני מניחה שהכוונה שהמשתמש יסמן עם העכבר את הטקסט לגזירה. אני יודעת איך לאכסן את כל הטקסט אבל אני לא יודעת כיצד לאכסן טקסט שמוגדר ע"י סימון עכבר.
כנ"ל לגבי הדבקה: אני יודעת להזין טקסט אבל אני לא יודעת כיצד להזין טקסט במקום מסויים בו עומד העכבר

אשמח לכל תשובה
ותודה מראש - גם למי שיענה וגם למי שהצליח לקרוא את השאלה עד הסוף
 

BravoMan

Active member
קודם כל את צריכה להבין מה מבקשים ממך:

כשאת כותבת טקסט ב-notepad הרגיל של Windows, ואז את רוצה לשמור אותו, מה קורה?
האם התוכנה שומרת את הטקסט היכן שבה לה, או שהיא מציגה לך חלון שבו את יכולה לקבוע היכן הטקסט ישמר?

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

אז החלונות האלה והפונקציונליות מאחוריהם הם "דיאלוגים" (דו שיח בין תוכנה למשתמש) לשמירה ופתיחה בהתאמה.
או באנגלית: File save dialog ו-File open dialog.

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

אגב, משמעות ההבדל בין dialog ל-dialod זה שמי שהדפיס את המטלה לא עשה בדיקת איות מספיק מדוקדקת


תבדקי אם קיבלת אולי הוראות להוריד את הקבצים הרלוונטיים מאתר הקורס.

אפשרות אחרת, היא להשתמש בזה:
http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html

לגבי גזירה והדבקה של טקסט:
בהנחה שאת משתמשת במחלקה שיורשת מ-JTextComponent, פשוט תקראי את העמוד הזה:
http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html

שימי לב ל-copy, cut, paste.
אם מחייבים אתכם לממש את כל המנגנון ולא להסתמך על המנגנון של מערכת הפעלה (clipboard), יש שם פונקציות אחרות שתוכלי להשתמש בהן כדי לדמות את כל הפעולות הדרושות.

אאל"ט בזמנו התפארת כאן שקראת את כל ה-JavaDoc. זה הזמן לחזור על החלקים הרלוונטיים


בהצלחה!
 

מיכל202

New member
תודה רבה

אני אקרא את הדברים ואנסה להבין

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

BravoMan

Active member
אנחנו מאמינים לך


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

במיוחד כשמדובר בהכרה של רכיב חדש ואיך משתמשים בו.

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

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

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

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

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