1 SPEAKER: בואו לכתוב תכנית ש יש לו ממשק משתמש גרפי עם תיבת הסימון, ולראות אם אנחנו לא מצליחין להבין איך להקשיב למשתמש אינטראקציות עם שתיבת הסימון כך שאנחנו יכולים להדפיס למסך בכל פעם שאנו שומעים את סימון המשתמשים או בטל שתיבת הסימון. אני הכנסתי את עצמי התחלתי כאן ב להתקדם עם קצת קוד שלד. עכשיו בואו נלך ולמלא את החסר. ראשית, לאחר הקצאת חלון זה, אני הולך קדימה ולהקצות GCheckBox, וכינה את תיבת סימון. ואני הולך להקצות לזה את התשואה ערך של newGCheckBox, ואני הולך לעבור במחרוזת של, נניח, "אני מסכים. "במילים אחרות, זה תווית שיהיה קשור עם שתיבת הסימון. בשלב הבא, בואו נלך קדימה וקוראים setActionCommand, עובר ב תיבת סימון ועובר בייחודי מזהה, כמו "צ'ק". באחר מילות, אני רוצה לשייך ייחודי מילה, באופן שרירותי למדי, אבל דווקא במקרה זה "לבדוק", כך שכאשר תיבת סימון זו מסומנת, אני פוטנציאל ייחודי ניתן לזהות כי תיבת סימון אם הממשק שלי קרה לי יש תיבות סימון מרובות. בואו הבא להוסיף את תיבת הסימון כדי ממשק משתמש עם addToRegion, עובר בחלון, עובר בתיבת סימון, ועובר בסוף ציטוט ציטוט "דרום", "דרום" להיות מזהה ייחודי הגדרתו בסטנפורד ספרייה ניידת שפשוט מתייחסת אזור הדרום, או התחתון אזור, של ממשק משתמש. בואו הבא בכוונה לגרום לולאה אינסופית. בתוך לולאה זו, בואו עכשיו להקשיב לשלוש פעולות. אחת, המשתמש מנסה סגור את החלון. שני, משתמש סימון התיבה. ושלוש, ביטול הבחירה של המשתמשים התיבה. בואו נכריז GActionEvent הראשון, קורא לזה אירוע. ולהקצות לה את התשואה ערך של waitForEvent. עובר בACTION_EVENT, קבוע הכריז בנייד סטנפורד ספרייה שמצביעה על כך שלא היה לי אוהב להקשיב לפעולה. בואו לבדוק הבא אם, getEventType, עובר במקרה, שווה שווה WINDOW_CLOSED, קבוע אחר שהוכרז בנייד סטנפורד ספרייה המצביעה על כך, אכן, החלון נסגר. אז בואו לשבור אותי לולאה אינסופית אחרת. לבסוף, בואו להאזין למשתמש סימון התיבה או ביטול סימון של התיבה באופן הבא. אם מחרוזת של getActionCommand להשוות, עובר באירוע. פסיק במרכאות, "לבדוק" שווה שווה 0. במילים אחרות, אם המזהה הייחודי קשור עם תיבת סימון שנבדק הוא, ציטוט סוף ציטוט, "בדיקה", ייחודי מזהה שאני מסופק קודם לכן, אז בואו להמשיך לעשות את הדברים הבאים. אם isSelected תיבת סימון, אז אני הולך להדפיס, למשל, תיבת סימון נבדק. עוד אני הולך להניח כי התיבה הייתה לא מסומנת, ולכן אני הולך להדפיס את זה במקום. תיבת סימון printf היה מסומנת. במילים אחרות, isSelected הוא עוד פונקציה המוגדרת בסטנפורד ספרייה ניידת שעושה בדיוק את זה - לבדוק אם תיבת סימון מסומנת. בואו עכשיו להציל, לקמפל, ולהפעיל את התכנית. הפוך תיבת סימון. . / תיבת סימון. יש ממשק המשתמש שלי. ואכן, יש תיבת הסימון שלי. אם אני עכשיו לחץ עליו, "הייתה תיבת הסימון בדק. "ואם אני לוחץ על זה שוב, "התיבה הייתה מסומנת."