1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:03,170 >> 1 SPEAKER: בואו לכתוב תכנית עם ממשק משתמש גרפי, כמו גם 3 00:00:03,170 --> 00:00:07,240 שדה טקסט שמאפשר למשתמש הקלד בכמה מחרוזת ולחץ על Enter, ב 4 00:00:07,240 --> 00:00:09,920 שנקודת המחרוזת שהיא סיפק לתכנית שלי. 5 00:00:09,920 --> 00:00:13,360 בדומה GetString בספריית CS50 עובד, אבל הפעם עם 6 00:00:13,360 --> 00:00:14,880 ממשק משתמש גרפי. 7 00:00:14,880 --> 00:00:16,180 בואו נתחיל. 8 00:00:16,180 --> 00:00:19,810 >> כבר כתבתי קצת קוד שלד, אז בואו עכשיו למלא ריק. 9 00:00:19,810 --> 00:00:22,770 GTextField, וכינה אותו תחום. 10 00:00:22,770 --> 00:00:25,790 הקצאה את ערך ההחזרה של newGTextField. 11 00:00:25,790 --> 00:00:28,790 וציון שאני רוצה לראות 10 תווים מהמשתמש על 12 00:00:28,790 --> 00:00:30,440 המסך בכל פעם. 13 00:00:30,440 --> 00:00:35,720 >> בואו שיחת setActionCommand הבאה, עובר בתחום, עובר בתניחו, 14 00:00:35,720 --> 00:00:39,330 במרכאות, "קלט". במילים אחרות, בואו לקשר עם שדה טקסט זה 15 00:00:39,330 --> 00:00:43,620 "קלט". ייחודי מחרוזת רק במקרה שלי יש ממשק משתמש טקסט מרובה 16 00:00:43,620 --> 00:00:47,260 שדות, באופן ייחודי תהיה במחרוזת זו לזהות את זה. 17 00:00:47,260 --> 00:00:53,000 >> בוא שיחת addToRegion הבאה, עובר ב חלון, עובר בשדה, עובר 18 00:00:53,000 --> 00:00:56,780 במרכאות, "דרום," ייחודי מזהה מוגדר בסטנפורד 19 00:00:56,780 --> 00:00:59,680 ספרייה ניידת שמציינת הדרום או בתחתית 20 00:00:59,680 --> 00:01:01,560 אזור של ממשק המשתמש שלי. 21 00:01:01,560 --> 00:01:05,230 >> בואו הבא לגרום ללולאה אינסופית. 22 00:01:05,230 --> 00:01:07,870 ובתוך הלולאה הזאת, בוא להקשיב לשני אירועים. 23 00:01:07,870 --> 00:01:09,910 אחת, המשתמש סוגר את החלון. 24 00:01:09,910 --> 00:01:13,060 או שתיים, המשתמש הקליד משהו שלשדה הטקסט. 25 00:01:13,060 --> 00:01:15,600 בואו נכריז gActionEvent. 26 00:01:15,600 --> 00:01:16,770 קורא לזה אירוע. 27 00:01:16,770 --> 00:01:19,700 הקצאה את התמורה ערך של waitForEvent. 28 00:01:19,700 --> 00:01:24,720 ציון שהסוג של מאורע שהיינו אוהב להקשיב להוא ACTION_EVENT, 29 00:01:24,720 --> 00:01:28,470 בי ACTION_EVENT הוא קבוע הכריז בנייד סטנפורד 30 00:01:28,470 --> 00:01:31,180 ספרייה שמציינת סוג זה של אירוע. 31 00:01:31,180 --> 00:01:37,600 >> בואו לבדוק הבא אם, getEventType, עובר במקרה, שווה שווה 32 00:01:37,600 --> 00:01:42,110 WINDOW_CLOSED, קבוע אחר שהוכרז בנייד סטנפורד 33 00:01:42,110 --> 00:01:45,090 ספרייה המצביעה על כך החלון נסגר. 34 00:01:45,090 --> 00:01:48,450 אז בואו פשוט נפרוץ של הלולאה האינסופית הזה. 35 00:01:48,450 --> 00:01:51,600 >> אחרת, בואו עכשיו לבדוק אם משתמש הקליד משהו של 36 00:01:51,600 --> 00:01:52,910 שדה טקסט. 37 00:01:52,910 --> 00:02:00,950 אם, מחרוזת להשוות, getActionCommand, עובר באירוע, פסיק מרכאות 38 00:02:00,950 --> 00:02:03,510 "קלט" שווה שווה 0. 39 00:02:03,510 --> 00:02:07,340 במילים אחרות, אם המזהה הייחודי שדה הטקסט שלתוכו 40 00:02:07,340 --> 00:02:10,680 המשתמש הקליד משהו שווה כדי שהמזהה ייחודית שאני 41 00:02:10,680 --> 00:02:13,000 צוין קודם לכן, בואו בצע את הפעולות הבאות. 42 00:02:13,000 --> 00:02:18,970 >> סוף ציטוט ציטוט printf "% s שהוזן." ובואו תוסף עבור ש 43 00:02:18,970 --> 00:02:24,950 % S ערך ההחזרה של עובר gettext בשטח, שבו gettext הוא עוד 44 00:02:24,950 --> 00:02:28,350 פונקציה, שהוגדרה בסטנפורד ספרייה ניידת, שמקבל את הטקסט 45 00:02:28,350 --> 00:02:29,430 משדה. 46 00:02:29,430 --> 00:02:32,210 >> בואו עכשיו להציל, לקמפל, ולהפעיל את התכנית. 47 00:02:32,210 --> 00:02:33,730 הפיכת טקסט. 48 00:02:33,730 --> 00:02:35,630 . / טקסט. 49 00:02:35,630 --> 00:02:38,780 יש ממשק המשתמש שלי, ויש ששדה הטקסט בתחתית. 50 00:02:38,780 --> 00:02:42,310 בואו נקליד משהו כמו h-e-L-L-o, Enter. 51 00:02:42,310 --> 00:02:45,280 ושם, בחלק התחתון שלי חלון מסוף, אכן אנו רואים 52 00:02:45,280 --> 00:02:46,530 כי "שלום" היה שהוזן. 53 00:02:46,530 --> 00:02:48,790