1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:03,170 >> LUIDSPREKER 1: Laten we een programma schrijven met een grafische user interface en 3 00:00:03,170 --> 00:00:07,240 een tekstveld dat de gebruiker mogelijk maakt om Typ een stukje tekst en druk op Enter op 4 00:00:07,240 --> 00:00:09,920 welk punt die string is verstrekt aan mijn programma. 5 00:00:09,920 --> 00:00:13,360 Net als GetString in de CS50 Bibliotheek werkt, maar dit keer met een 6 00:00:13,360 --> 00:00:14,880 grafische gebruikersinterface. 7 00:00:14,880 --> 00:00:16,180 Laten we beginnen. 8 00:00:16,180 --> 00:00:19,810 >> Ik heb al een aantal skelet code geschreven, dus laten we nu in een lege vullen. 9 00:00:19,810 --> 00:00:22,770 GTextField, noemde het veld. 10 00:00:22,770 --> 00:00:25,790 Toe te wijzen de return waarde van newGTextField. 11 00:00:25,790 --> 00:00:28,790 En specificeren dat ik graag zou willen zien 10 karakters van de gebruiker op 12 00:00:28,790 --> 00:00:30,440 het scherm tegelijk. 13 00:00:30,440 --> 00:00:35,720 >> Laten we het volgende gesprek setActionCommand, passeren in het veld, passeren in laten we zeggen, 14 00:00:35,720 --> 00:00:39,330 citaat unquote "input." Met andere woorden, laten we associƫren met dit tekstveld 15 00:00:39,330 --> 00:00:43,620 unieke string "invoeren." voor het geval mijn gebruikersinterface heeft meerdere tekst 16 00:00:43,620 --> 00:00:47,260 velden, deze string zal een unieke identificeren deze. 17 00:00:47,260 --> 00:00:53,000 >> Laten we het volgende gesprek addToRegion, passeren in venster, passeren in het veld, langs 18 00:00:53,000 --> 00:00:56,780 in citaat unquote "ZUIDEN," een unieke identifier gedefinieerd in de Stanford 19 00:00:56,780 --> 00:00:59,680 Portable Library die aangeeft de zuidelijke of onderkant 20 00:00:59,680 --> 00:01:01,560 gebied van mijn gebruikersinterface. 21 00:01:01,560 --> 00:01:05,230 >> Laten we naast een oneindige lus veroorzaken. 22 00:01:05,230 --> 00:01:07,870 En de binnenkant van deze lus, laten we luisteren naar twee gebeurtenissen. 23 00:01:07,870 --> 00:01:09,910 Een, de gebruiker sluiten van het venster. 24 00:01:09,910 --> 00:01:13,060 Of twee, de gebruiker typt iets in die tekstveld. 25 00:01:13,060 --> 00:01:15,600 Laten we verklaren een gActionEvent. 26 00:01:15,600 --> 00:01:16,770 Noemde het evenement. 27 00:01:16,770 --> 00:01:19,700 Toe te wijzen de terugkeer waarde van waitForEvent. 28 00:01:19,700 --> 00:01:24,720 Preciseren dat het type gebeurtenis we zouden graag voor om te luisteren is een ACTION_EVENT, 29 00:01:24,720 --> 00:01:28,470 waar ACTION_EVENT is een constante in de Stanford Portable verklaard 30 00:01:28,470 --> 00:01:31,180 Bibliotheek die specificeert dat type evenement. 31 00:01:31,180 --> 00:01:37,600 >> Laten we volgende controle indien, getEventType, passeren in geval gelijk gelijken 32 00:01:37,600 --> 00:01:42,110 WINDOW_CLOSED, een andere constante verklaard in de Stanford Portable 33 00:01:42,110 --> 00:01:45,090 Bibliotheek die aangeeft dat het venster gesloten. 34 00:01:45,090 --> 00:01:48,450 Laten we dan gewoon breken van deze oneindige lus. 35 00:01:48,450 --> 00:01:51,600 >> Anders laten we nu controleren of de gebruiker heeft iets in die getypt 36 00:01:51,600 --> 00:01:52,910 tekstveld. 37 00:01:52,910 --> 00:02:00,950 Indien, string vergelijker, getActionCommand, passeren in geval komma citaat unquote 38 00:02:00,950 --> 00:02:03,510 "Input" is gelijk aan gelijk is aan 0. 39 00:02:03,510 --> 00:02:07,340 Met andere woorden, als de unieke identificator het tekstveld waarin 40 00:02:07,340 --> 00:02:10,680 de gebruiker heeft getypt iets gelijk is om dat unieke identificatie die ik 41 00:02:10,680 --> 00:02:13,000 gespecificeerd eerder, laten we het volgende doen. 42 00:02:13,000 --> 00:02:18,970 >> Printf citaat unquote "% s werd ingevoerd." En laten we plug-in voor die 43 00:02:18,970 --> 00:02:24,950 % S de return waarde van getText passerende in het veld, waar getText een andere 44 00:02:24,950 --> 00:02:28,350 functie, gedefinieerd in de Stanford Draagbare Bibliotheek, dat de tekst wordt 45 00:02:28,350 --> 00:02:29,430 uit een veld. 46 00:02:29,430 --> 00:02:32,210 >> Laten we nu nog redden, compileren, en uitvoeren van deze programma. 47 00:02:32,210 --> 00:02:33,730 Maken tekst. 48 00:02:33,730 --> 00:02:35,630 . / Tekst. 49 00:02:35,630 --> 00:02:38,780 Daar is mijn user interface, en er is dat tekstveld onderaan. 50 00:02:38,780 --> 00:02:42,310 Laten we iets typt h-e-l-l-o, Enter. 51 00:02:42,310 --> 00:02:45,280 En daar onderaan mijn console venster, inderdaad zien we 52 00:02:45,280 --> 00:02:46,530 dat "hello" werd ingevoerd. 53 00:02:46,530 --> 00:02:48,790