1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:03,170 >> ลำโพง 1: ลองเขียนโปรแกรมด้วย อินเตอร์เฟซผู้ใช้แบบกราฟิกเช่นเดียวกับที่ 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 ในคำพูดที่นำมาอ้าง "SOUTH" ที่ไม่ซ้ำกัน ระบุที่กำหนดไว้ในสแตนฟอ 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 เป็นค่าคงที่ ประกาศในแบบพกพา Stanford 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 คงประกาศอีก ในแบบพกพา Stanford 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 ถู​​กป้อน." และขอ plug-in ที่ 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 ลองบางชนิดเช่น เอช-e-L-L-o, ใส่ 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