1 00:00:00,000 --> 00:00:00,150 2 00:00:00,150 --> 00:00:03,120 >> HÖGTALARE 1: Låt oss skriva ett program som har ett grafiskt användargränssnitt med ett 3 00:00:03,120 --> 00:00:06,510 kryssrutan, och se om vi inte kan räkna reda på hur man lyssnar efter användare 4 00:00:06,510 --> 00:00:09,680 interaktioner med denna kryssruta så att vi kan trycka på skärmen 5 00:00:09,680 --> 00:00:12,980 när vi hör användaren check eller avmarkera den kryssrutan. 6 00:00:12,980 --> 00:00:15,810 >> Jag har fått mig började här i avancera med några skelett kod. 7 00:00:15,810 --> 00:00:17,610 Nu ska vi gå och fylla i de tomma. 8 00:00:17,610 --> 00:00:20,500 Först efter att fördela det fönstret, jag är kommer att gå vidare och tilldela en 9 00:00:20,500 --> 00:00:24,400 GCheckBox, kalla det kryssrutan. 10 00:00:24,400 --> 00:00:29,090 Och jag kommer att tilldela den avkastningen värdet av newGCheckBox, och jag är 11 00:00:29,090 --> 00:00:33,050 kommer att passera i en sträng av, säg, "Jag överens. "Med andra ord, det är den 12 00:00:33,050 --> 00:00:35,420 etikett som kommer att associeras med denna kryssruta. 13 00:00:35,420 --> 00:00:39,750 >> Nu ska vi gå vidare och ringa setActionCommand, som går i 14 00:00:39,750 --> 00:00:43,990 kryssrutan och passerar i en unik identifierare, som "check". I andra 15 00:00:43,990 --> 00:00:47,320 ord, jag vill associera en unik ord, något godtyckligt, men 16 00:00:47,320 --> 00:00:51,470 särskilt i det här fallet "kolla", så att när den här kryssrutan är markerad, jag 17 00:00:51,470 --> 00:00:55,520 kan potentiellt unikt identifiera det checkbox om min gränssnitt hände 18 00:00:55,520 --> 00:00:57,540 har flera kryssrutor. 19 00:00:57,540 --> 00:01:02,820 >> Låt oss nästa lägga kryssrutan till användargränssnitt med addToRegion, 20 00:01:02,820 --> 00:01:07,040 passerar i fönstret, som går i kryssrutan, och går i citat unquote 21 00:01:07,040 --> 00:01:10,730 "SÖDRA", "SOUTH" är unik identifierare definieras i Stanford 22 00:01:10,730 --> 00:01:14,060 Bärbar bibliotek som enbart avser den södra regionen, eller i botten 23 00:01:14,060 --> 00:01:15,770 region av ett användargränssnitt. 24 00:01:15,770 --> 00:01:19,680 >> Låt oss nästa medvetet framkalla en oändlig loop. 25 00:01:19,680 --> 00:01:22,660 Inne i denna slinga, låt oss nu lyssna efter tre åtgärder. 26 00:01:22,660 --> 00:01:25,420 Ett, att användaren försöker stänga fönstret. 27 00:01:25,420 --> 00:01:27,090 Två, användaren markera rutan. 28 00:01:27,090 --> 00:01:29,690 Och tre, användaren att avmarkera lådan. 29 00:01:29,690 --> 00:01:34,020 >> Låt oss först förklara en GActionEvent, kalla det evenemanget. 30 00:01:34,020 --> 00:01:37,740 Och tilldela den avkastningen värdet av waitForEvent. 31 00:01:37,740 --> 00:01:42,850 Passning i ACTION_EVENT, en konstant förklarade i Stanford Portable 32 00:01:42,850 --> 00:01:45,970 Bibliotek som tyder på att jag skulle gillar att lyssna för en åtgärd. 33 00:01:45,970 --> 00:01:52,410 >> Låt oss nästa kontroll om, getEventType, passerar händelse, lika likar 34 00:01:52,410 --> 00:01:56,970 WINDOW_CLOSED, en annan konstant deklareras i Stanford bärbara 35 00:01:56,970 --> 00:02:00,040 bibliotek som tyder på att, ja, fönstret har stängts. 36 00:02:00,040 --> 00:02:04,000 Sedan ska bryta sig ur min annars oändlig slinga. 37 00:02:04,000 --> 00:02:07,650 >> Slutligen, låt oss lyssna för användaren kryssa i rutan eller avmarkera rutan 38 00:02:07,650 --> 00:02:08,630 enligt följande. 39 00:02:08,630 --> 00:02:15,010 Om sträng jämföra av getActionCommand, passerar händelse. 40 00:02:15,010 --> 00:02:19,250 Komma citat unquote "check" är lika är lika med 0. 41 00:02:19,250 --> 00:02:22,360 Med andra ord, om den unika identifierare associerad med den 42 00:02:22,360 --> 00:02:25,760 kryssruta som har kontrollerats är, citat unquote "check", det unika 43 00:02:25,760 --> 00:02:28,210 identifierare som jag levererade tidigare, så låt oss 44 00:02:28,210 --> 00:02:29,460 fortsätta att göra följande. 45 00:02:29,460 --> 00:02:31,770 46 00:02:31,770 --> 00:02:40,570 >> Om är vald kryssruta, så jag ska för att skriva ut, till exempel, checkbox 47 00:02:40,570 --> 00:02:44,020 kontrollerades. 48 00:02:44,020 --> 00:02:47,270 Annars kommer jag att anta att kryss var okontrollerat, och så är jag 49 00:02:47,270 --> 00:02:49,230 kommer att skriva ut det här i stället. 50 00:02:49,230 --> 00:02:53,520 Printf kryss var okontrollerat. 51 00:02:53,520 --> 00:02:56,670 Med andra ord är är vald annan Funktionen definieras i Stanford 52 00:02:56,670 --> 00:02:59,070 Bärbar bibliotek som gör just det - kontrollera om 53 00:02:59,070 --> 00:03:00,970 en kryssruta är markerad. 54 00:03:00,970 --> 00:03:03,670 >> Låt oss nu spara, kompilera, och köra programmet. 55 00:03:03,670 --> 00:03:05,285 Gör kryssrutan. 56 00:03:05,285 --> 00:03:07,610 . / Kryssruta. 57 00:03:07,610 --> 00:03:08,820 Där är min användargränssnitt. 58 00:03:08,820 --> 00:03:11,030 Och faktiskt, det är min kryssrutan. 59 00:03:11,030 --> 00:03:15,680 Om jag nu klickar på den, "kryssrutan var kontrolleras. "Och om jag klickar på den igen, 60 00:03:15,680 --> 00:03:17,690 "Kryssrutan var okontrollerat." 61 00:03:17,690 --> 00:03:19,488