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 в цитатою кінець цитати "ЮГ", унікальний Ідентифікатор визначено в Стенфорді 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 є постійним заявив у Стенфордському Portable 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, інша константа оголошена в Стенфордському Portable 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 Давайте щось подібне типу ч-е-л-л-о, Enter. 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