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