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