1 00:00:00,000 --> 00:00:00,150 2 00:00:00,150 --> 00:00:03,120 >> INTERLOCUTEUR 1: Écrivons un programme qui a une interface utilisateur graphique avec une 3 00:00:03,120 --> 00:00:06,510 case à cocher, et de voir si nous ne pouvons pas comprendre comment écouter pour l'utilisateur 4 00:00:06,510 --> 00:00:09,680 interactions avec ce case si que nous pouvons imprimer à l'écran 5 00:00:09,680 --> 00:00:12,980 chaque fois que nous entendons le contrôle de l'utilisateur ou décocher la case correspondante. 6 00:00:12,980 --> 00:00:15,810 >> J'ai reçu moi-même commencé ici en progresser avec un code de squelette. 7 00:00:15,810 --> 00:00:17,610 Maintenant, nous allons aller remplir le vide. 8 00:00:17,610 --> 00:00:20,500 Tout d'abord, après l'attribution de cette fenêtre, je suis aller de l'avant et d'attribuer une 9 00:00:20,500 --> 00:00:24,400 GCheckBox, appelant case. 10 00:00:24,400 --> 00:00:29,090 Et je vais lui confier le retour valeur de newGCheckBox, et je suis 11 00:00:29,090 --> 00:00:33,050 va passer dans une chaîne de, disons, «Je d'accord ». En d'autres termes, c'est la 12 00:00:33,050 --> 00:00:35,420 étiquette qui sera associé avec cette case. 13 00:00:35,420 --> 00:00:39,750 >> Ensuite, nous allons aller de l'avant et appellent setActionCommand, en passant dans le 14 00:00:39,750 --> 00:00:43,990 case et passage dans un cadre unique identificateur, comme «chèque». Dans d'autres 15 00:00:43,990 --> 00:00:47,320 mots, je tiens à associer un unique, mot, un peu arbitrairement, mais 16 00:00:47,320 --> 00:00:51,470 spécifiquement dans ce cas "vérifier" si que lorsque cette case est cochée, je 17 00:00:51,470 --> 00:00:55,520 peut potentiellement identifier de manière unique que case si mon interface qui est arrivé à 18 00:00:55,520 --> 00:00:57,540 avoir plusieurs cases à cocher. 19 00:00:57,540 --> 00:01:02,820 >> Disons prochaine ajouter la case à interface utilisateur avec addToRegion, 20 00:01:02,820 --> 00:01:07,040 passant dans la fenêtre, en passant case, et en passant entre guillemets 21 00:01:07,040 --> 00:01:10,730 "SUD", "SUD" étant identifiant unique défini dans la Stanford 22 00:01:10,730 --> 00:01:14,060 Bibliothèque portable qui se réfère simplement à la région du sud, ou le fond 23 00:01:14,060 --> 00:01:15,770 région, d'une interface utilisateur. 24 00:01:15,770 --> 00:01:19,680 >> Disons induisent délibérément prochaine une boucle infinie. 25 00:01:19,680 --> 00:01:22,660 A l'intérieur de cette boucle, nous allons maintenant écouter pour trois actions. 26 00:01:22,660 --> 00:01:25,420 Un, l'utilisateur d'essayer de fermer la fenêtre. 27 00:01:25,420 --> 00:01:27,090 Deux, la vérification de la boîte utilisateur. 28 00:01:27,090 --> 00:01:29,690 Et de trois, l'utilisateur décochant la boîte. 29 00:01:29,690 --> 00:01:34,020 >> Voyons d'abord déclarer un GActionEvent, appelant événement. 30 00:01:34,020 --> 00:01:37,740 Et affectez-lui le retour valeur de waitForEvent. 31 00:01:37,740 --> 00:01:42,850 En passant ACTION_EVENT, une constante déclaré dans le portable de Stanford 32 00:01:42,850 --> 00:01:45,970 Bibliothèque qui indique que je ferais souhaitez écouter pour une action. 33 00:01:45,970 --> 00:01:52,410 >> Laissez-nous regard si, getEventType, passant événement, égaux égaux 34 00:01:52,410 --> 00:01:56,970 WINDOW_CLOSED, une autre constante déclarée dans le portable Stanford 35 00:01:56,970 --> 00:02:00,040 Bibliothèque qui indique que, en effet, la fenêtre a été fermée. 36 00:02:00,040 --> 00:02:04,000 Ensuite, nous allons sortir de mon boucle infinie contraire. 37 00:02:04,000 --> 00:02:07,650 >> Enfin, écoutons pour l'utilisateur cochant la case ou décochant la case 38 00:02:07,650 --> 00:02:08,630 comme suit. 39 00:02:08,630 --> 00:02:15,010 Si la chaîne de comparer getActionCommand, passant événement. 40 00:02:15,010 --> 00:02:19,250 Virgule entre guillemets "vérifier" égaux est égal à 0. 41 00:02:19,250 --> 00:02:22,360 En d'autres termes, si l'identificateur unique associé à l' 42 00:02:22,360 --> 00:02:25,760 case qui a été cochée est, citation Ils ont dit, "contrôle", l'unique, 43 00:02:25,760 --> 00:02:28,210 identifiant que j'ai fourni plus tôt, alors laissez nous 44 00:02:28,210 --> 00:02:29,460 procéder à ce qui suit. 45 00:02:29,460 --> 00:02:31,770 46 00:02:31,770 --> 00:02:40,570 >> Si isSelected case, je vais d'imprimer, par exemple, case 47 00:02:40,570 --> 00:02:44,020 a été vérifiée. 48 00:02:44,020 --> 00:02:47,270 Sinon je vais supposer que le case était cochée, et donc je suis 49 00:02:47,270 --> 00:02:49,230 va imprimer cette place. 50 00:02:49,230 --> 00:02:53,520 Printf case était cochée. 51 00:02:53,520 --> 00:02:56,670 En d'autres termes, un autre est isSelected fonction définie dans la Stanford 52 00:02:56,670 --> 00:02:59,070 Portable Library qui fait exactement cela - vérifier si 53 00:02:59,070 --> 00:03:00,970 une case à cocher est sélectionnée. 54 00:03:00,970 --> 00:03:03,670 >> Voyons maintenant enregistrer, compiler, et exécuter ce programme. 55 00:03:03,670 --> 00:03:05,285 Assurez-case. 56 00:03:05,285 --> 00:03:07,610 . / Case. 57 00:03:07,610 --> 00:03:08,820 Voilà mon interface utilisateur. 58 00:03:08,820 --> 00:03:11,030 Et en effet, il est ma case. 59 00:03:11,030 --> 00:03:15,680 Si maintenant je clique dessus, "case était vérifié. "Et si je clique à nouveau, 60 00:03:15,680 --> 00:03:17,690 "Case était cochée." 61 00:03:17,690 --> 00:03:19,488