>> ลำโพง 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, ใส่
และมีที่ด้านล่างของฉัน หน้าต่างคอนโซลจริงที่เราเห็น
ว่า "สวัสดี" ได้รับการป้อน