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 حقل النص الذي يسمح للمستخدم ل اكتب في بعض سلسلة وهاهنا، في 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 قوسي الإقتباس ودعونا في المكونات لهذا 43 00:02:18,970 --> 00:02:24,950 ٪ و القيمة المرجعة من 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