1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:03,170 >> INTERLOCUTEUR 1: Écrivons un programme avec une Interface utilisateur graphique ainsi que 3 00:00:03,170 --> 00:00:07,240 un champ de texte qui permet à l'utilisateur d' taper une chaîne de caractères et appuyez sur Entrée, à 4 00:00:07,240 --> 00:00:09,920 quel point cette chaîne est prévu à mon programme. 5 00:00:09,920 --> 00:00:13,360 Tout comme GetString dans la bibliothèque CS50 fonctionne, mais cette fois avec un 6 00:00:13,360 --> 00:00:14,880 l'interface utilisateur graphique. 7 00:00:14,880 --> 00:00:16,180 Commençons. 8 00:00:16,180 --> 00:00:19,810 >> J'ai déjà écrit du code du squelette, nous allons donc remplir maintenant dans un vide. 9 00:00:19,810 --> 00:00:22,770 GTextField, appelant domaine. 10 00:00:22,770 --> 00:00:25,790 Affectant la valeur de retour de newGTextField. 11 00:00:25,790 --> 00:00:28,790 Et de préciser que je voudrais voir 10 personnages de l'utilisateur sur 12 00:00:28,790 --> 00:00:30,440 l'écran à la fois. 13 00:00:30,440 --> 00:00:35,720 >> Laissez-nous le prochain appel setActionCommand, passant dans le champ, en passant par exemple, 14 00:00:35,720 --> 00:00:39,330 je cite "entrée". En d'autres termes, nous allons associer à ce champ de texte 15 00:00:39,330 --> 00:00:43,620 chaîne "entrée.« unique juste au cas où mon interface utilisateur a le texte multiple 16 00:00:43,620 --> 00:00:47,260 champs, cette chaîne sera unique identifier celui-ci. 17 00:00:47,260 --> 00:00:53,000 >> Laissez-nous le prochain appel addToRegion, en passant fenêtre, en passant dans le champ, en passant 18 00:00:53,000 --> 00:00:56,780 dans entre guillemets "SUD", un cadre unique identificateur défini dans la Stanford 19 00:00:56,780 --> 00:00:59,680 Bibliothèque portable qui spécifie le sud ou en bas 20 00:00:59,680 --> 00:01:01,560 région de ma interface utilisateur. 21 00:01:01,560 --> 00:01:05,230 >> Disons prochaine induisent une boucle infinie. 22 00:01:05,230 --> 00:01:07,870 Et à l'intérieur de cette boucle, nous allons écouter pour deux événements. 23 00:01:07,870 --> 00:01:09,910 L'un, l'utilisateur de fermer la fenêtre. 24 00:01:09,910 --> 00:01:13,060 Ou deux, l'utilisateur de taper quelque chose dans ce champ de texte. 25 00:01:13,060 --> 00:01:15,600 Déclarons une gActionEvent. 26 00:01:15,600 --> 00:01:16,770 Appelant événement. 27 00:01:16,770 --> 00:01:19,700 Lui attribuant le retour valeur de waitForEvent. 28 00:01:19,700 --> 00:01:24,720 Précisant que le type d'événement que nous avions certainement pour écouter est un ACTION_EVENT, 29 00:01:24,720 --> 00:01:28,470 où est une constante ACTION_EVENT déclaré dans le portable de Stanford 30 00:01:28,470 --> 00:01:31,180 Bibliothèque qui spécifie ce type d'événement. 31 00:01:31,180 --> 00:01:37,600 >> Laissez-nous regard si, getEventType, passant événement, égaux égaux 32 00:01:37,600 --> 00:01:42,110 WINDOW_CLOSED, une autre constante déclarée en Portable Stanford 33 00:01:42,110 --> 00:01:45,090 Bibliothèque qui indique que la fenêtre a été fermée. 34 00:01:45,090 --> 00:01:48,450 Ensuite, nous allons briser tout simplement hors de cette boucle infinie. 35 00:01:48,450 --> 00:01:51,600 >> Sinon, nous allons vérifier maintenant si le utilisateur a tapé quelque chose dans ce 36 00:01:51,600 --> 00:01:52,910 champ de texte. 37 00:01:52,910 --> 00:02:00,950 Si, chaîne comparer, getActionCommand, passant événement, une virgule entre guillemets 38 00:02:00,950 --> 00:02:03,510 «Entrée» est égal à égal 0. 39 00:02:03,510 --> 00:02:07,340 En d'autres termes, si l'identificateur unique le champ de texte dans lequel 40 00:02:07,340 --> 00:02:10,680 l'utilisateur a tapé quelque chose est égale pour que l'identifiant unique que je 41 00:02:10,680 --> 00:02:13,000 spécifiée antérieures, nous allons procédez comme suit. 42 00:02:13,000 --> 00:02:18,970 >> Printf entre guillemets "% s est entré." Et nous allons plug-in pour que 43 00:02:18,970 --> 00:02:24,950 % S la valeur de retour de getText passage sur le terrain, où getText est un autre 44 00:02:24,950 --> 00:02:28,350 fonction, définie dans la Stanford Portable Library, qui obtient le texte 45 00:02:28,350 --> 00:02:29,430 à partir d'un champ. 46 00:02:29,430 --> 00:02:32,210 >> Voyons maintenant enregistrer, compiler, et exécuter ce programme. 47 00:02:32,210 --> 00:02:33,730 Rendre le texte. 48 00:02:33,730 --> 00:02:35,630 . / Texte. 49 00:02:35,630 --> 00:02:38,780 Voilà mon interface utilisateur, et il ya ce champ de texte en bas. 50 00:02:38,780 --> 00:02:42,310 Tapons quelque chose comme h-e-l-l-o, Entrée. 51 00:02:42,310 --> 00:02:45,280 Et là, au fond de mon fenêtre de la console, en effet, nous voyons 52 00:02:45,280 --> 00:02:46,530 que "bonjour" a été entrée. 53 00:02:46,530 --> 00:02:48,790