ลำโพง 1: ลองเขียนโปรแกรมด้วย อินเตอร์เฟซผู้ใช้แบบกราฟิกเช่นเดียวกับที่ ช่องข้อความที่ช่วยให้ผู้ใช้สามารถ พิมพ์ลงในสตริงและกด Enter ที่ ซึ่งจุดที่เป็นสตริง ให้กับโปรแกรมของฉัน เหมือน GetString ในห้องสมุด CS50 ทำงาน แต่เวลาที่มีนี้ อินเตอร์เฟซผู้ใช้แบบกราฟิก ขอเริ่มต้น ผมเคยเขียนไปแล้วรหัสโครงกระดูกบาง จึงขอตอนนี้กรอกข้อมูลลงในที่ว่างเปล่า GTextField เรียกมันว่าสนาม กำหนดค่าตอบแทน ของ newGTextField และระบุว่าฉันต้องการที่จะเห็น 10 ตัวอักษรจากผู้ใช้ใน หน้าจอในเวลา ลองโทรไป setActionCommand, ผ่านในสนามผ่านในการพูด อ้างนำมาอ้าง "ใส่." ในคำอื่น ๆ ให้เชื่อมโยงกับช่องข้อความนี้ ที่ไม่ซ้ำกันสตริง "ใส่." เพียง แต่ในกรณีของฉัน ส่วนติดต่อผู้ใช้มีข้อความหลาย สาขาสายนี้จะไม่ซ้ำกัน ระบุหนึ่งนี้ ลองโทรไป addToRegion ผ่านใน หน้าต่างผ่านในสาขาผ่าน ในคำพูดที่นำมาอ้าง "SOUTH" ที่ไม่ซ้ำกัน ระบุที่กำหนดไว้ในสแตนฟอ ห้องสมุดแบบพกพาที่ระบุ ภาคใต้หรือด้านล่าง ภูมิภาคของอินเตอร์เฟซผู้ใช้ สมมติต่อไปเหนี่ยวนำให้เกิดห่วงอนันต์ และภายในของวงนี้ขอ ฟังทั้งสองเหตุการณ์ หนึ่งในผู้ใช้ปิดหน้าต่าง หรือสองผู้ใช้พิมพ์บางสิ่งบางอย่าง ในฟิลด์ข้อความที่ ขอประกาศ gActionEvent เรียกมันว่าเหตุการณ์ กำหนดผลตอบแทน ค่าของ waitForEvent ระบุว่าประเภทของการแข่งขันที่เราต้องการ ชอบที่จะฟังสำหรับการเป็น ACTION_EVENT, ที่ ACTION_EVENT เป็นค่าคงที่ ประกาศในแบบพกพา Stanford ห้องสมุดที่ระบุ ประเภทของเหตุการณ์ที่ ลองตรวจสอบต่อไปถ้า getEventType, ผ่านในเหตุการณ์เท่ากับเท่ากับ WINDOW_CLOSED คงประกาศอีก ในแบบพกพา Stanford ห้องสมุดที่ระบุว่า หน้าต่างมีการปิด จากนั้นขอเพียงแบ่งออก ของวงนี้ มิฉะนั้นตอนนี้ขอตรวจสอบว่า ผู้ได้พิมพ์อะไรบางอย่างลงไปในที่ ฟิลด์ข้อความ ถ้าสตริงเปรียบเทียบ getActionCommand, ผ่านในเหตุการณ์จุลภาคอ้างนำมาอ้าง "นำเข้า" เท่ากับเท่ากับ 0 ในคำอื่น ๆ ถ้าตัวระบุที่ไม่ซ้ำกัน ช่องข้อความเป็นที่ ผู้ใช้ที่ได้พิมพ์อะไรบางอย่างที่มีค่าเท่ากับ ที่ระบุเฉพาะว่าฉัน ที่ระบุไว้ก่อนหน้านี้ให้ ทำต่อไปนี้ อ้าง printf นำมาอ้าง "% s ถู​​กป้อน." และขอ plug-in ที่ % s ค่าตอบแทนของ getText ผ่าน ในสาขาที่ getText เป็นอีกหนึ่ง ฟังก์ชั่นที่กำหนดไว้ในสแตนฟอ ห้องสมุดแบบพกพาที่ได้รับข้อความ จากสนาม ตอนนี้ขอบันทึกรวบรวม และเรียกใช้โปรแกรมนี้ ทำให้ข้อความ . / ข้อความ มีส่วนติดต่อผู้ใช้ของฉันและมี ช่องข้อความว่าที่ด้านล่าง ลองบางชนิดเช่น เอช-e-L-L-o, ใส่ และมีที่ด้านล่างของฉัน หน้าต่างคอนโซลจริงที่เราเห็น ว่า "สวัสดี" ได้รับการป้อน