1 00:00:00,000 --> 00:00:00,310 2 00:00:00,310 --> 00:00:03,050 >> HÖGTALARE 1: Låt oss skriva ett program som har ett grafiskt användargränssnitt som 3 00:00:03,050 --> 00:00:06,940 innefattar ett skjutreglage som en användare kan flytta vänster till höger för att välja en viss 4 00:00:06,940 --> 00:00:08,720 värde mellan två heltal. 5 00:00:08,720 --> 00:00:11,220 >> För att göra detta, har jag börjat med några platshållare kod. 6 00:00:11,220 --> 00:00:12,720 Och nu ska vi fylla i en tom. 7 00:00:12,720 --> 00:00:17,760 Låt oss först tilldela en GSlider, ringer det reglaget, och tilldela den 8 00:00:17,760 --> 00:00:20,690 returvärde getGSlider. 9 00:00:20,690 --> 00:00:24,160 Och nu ska vi ange att jag vill ha det sänker bundna av reglaget för att vara en 10 00:00:24,160 --> 00:00:28,800 heltal av 0, den övre gränsen för reglaget för att vara ett helt tal av 100, och 11 00:00:28,800 --> 00:00:31,860 standardinitialvärdet för att vara 50. 12 00:00:31,860 --> 00:00:35,760 >> Nu ska vi gå vidare och koppla en action kommando med detta reglage med 13 00:00:35,760 --> 00:00:40,220 ringer setActionCommand, passerar reglaget, och passerar på ett godtyckligt 14 00:00:40,220 --> 00:00:44,500 men unik sträng som citat unquote "Glida". Med andra ord: "slide" är 15 00:00:44,500 --> 00:00:48,150 kommer att vara identifierare unikt förknippade med detta reglage. 16 00:00:48,150 --> 00:00:51,500 Bara i fall min användargränssnitt hade flera reglage, jag kunde urskilja 17 00:00:51,500 --> 00:00:53,180 bland dem med denna teknik. 18 00:00:53,180 --> 00:00:58,620 >> Nästa, låt oss kalla addToRegion, som går i fönster, som går i reglaget, passerar 19 00:00:58,620 --> 00:01:03,310 i citat unquote "SOUTH," i syfte att lägga reglaget till den sydligaste 20 00:01:03,310 --> 00:01:04,830 region i vårt användargränssnitt. 21 00:01:04,830 --> 00:01:08,310 Där citerar unquote "SÖDRA" råkar vara unik identifierare som definieras i 22 00:01:08,310 --> 00:01:09,950 Stanford Portable Library. 23 00:01:09,950 --> 00:01:12,760 >> Men nu, för tydlighets skull, till vänster av reglaget låter hårt 24 00:01:12,760 --> 00:01:13,980 koda nummer 0. 25 00:01:13,980 --> 00:01:17,020 Och till höger av löparen låt oss hårt kod nummer 100. 26 00:01:17,020 --> 00:01:20,590 Så att användaren vet genom att skjuta sak till vänster eller till höger hur 27 00:01:20,590 --> 00:01:22,170 de är att ändra dess värde. 28 00:01:22,170 --> 00:01:26,060 >> Innan vi fördela det reglage, låt oss gå tillbaka hit och tilldela en GLabel, 29 00:01:26,060 --> 00:01:27,210 kalla det kvar. 30 00:01:27,210 --> 00:01:32,170 Och tilldela returvärdet av newGLabel, som går i citat unquote - 31 00:01:32,170 --> 00:01:33,500 med andra ord - 32 00:01:33,500 --> 00:01:39,250 av "0." Låt oss nu kallar addToRegion, passerar i fönstret, som går i vänster, 33 00:01:39,250 --> 00:01:43,560 passerar i citat unquote "SOUTH." Så att denna etikett sätts in som 34 00:01:43,560 --> 00:01:45,600 södra regionen före reglaget. 35 00:01:45,600 --> 00:01:49,950 >> Och nu efter reglaget, så går vidare och förklara en annan GLabel. 36 00:01:49,950 --> 00:01:54,550 Kalla det rätt, tilldela den returnera värdet av newGLabel. 37 00:01:54,550 --> 00:01:56,320 Citat unquote - en annan sträng - 38 00:01:56,320 --> 00:02:02,290 "100." Och sedan ringa addToRegion, passerar i fönstret, som går in till höger, 39 00:02:02,290 --> 00:02:04,640 passerar "SOUTH" också. 40 00:02:04,640 --> 00:02:08,580 Med andra ord har vi bara deklarerat en etikett, ett skjutreglage, och en annan etikett och 41 00:02:08,580 --> 00:02:12,200 insatt dem i den södra regionen i nämnd ordning, så att användaren vet 42 00:02:12,200 --> 00:02:15,510 när han eller hon flyttar den åt höger eller till vänster ungefär vilket värde 43 00:02:15,510 --> 00:02:16,380 de kommer att närma sig. 44 00:02:16,380 --> 00:02:19,040 >> Låt oss nu framkalla en oändlig loop. 45 00:02:19,040 --> 00:02:21,755 Och inne i denna slinga, låter första kontroll för en 46 00:02:21,755 --> 00:02:24,710 GActionEvent, kalla det evenemanget. 47 00:02:24,710 --> 00:02:27,740 Tilldela den avkastningen värdet av waitForEvent. 48 00:02:27,740 --> 00:02:32,430 Förbi i ACTION-EVENT, en konstant förklarade i Stanford Portable 49 00:02:32,430 --> 00:02:36,460 Bibliotek som anger att du verkligen vill vänta på en åtgärd. 50 00:02:36,460 --> 00:02:42,420 >> Låt oss nästa kontroll om getEventType, passerar händelse, lika 51 00:02:42,420 --> 00:02:46,330 WINDOW_CLOSED, en annan konstant deklareras i Stanford Portable 52 00:02:46,330 --> 00:02:49,970 Bibliotek som anger att åtgärden är stängning av ett fönster. 53 00:02:49,970 --> 00:02:53,640 Sedan ska vi gå vidare och bryta ut av denna annars oändlig slinga. 54 00:02:53,640 --> 00:02:57,480 >> Else, låt oss kontrollera om användaren har glidit att reglaget. 55 00:02:57,480 --> 00:03:04,930 Om sträng jämföra av getActionCommand, passerar händelse, kommatecken, citationstecken unquote 56 00:03:04,930 --> 00:03:07,520 "Slide" är lika med är lika med 0. 57 00:03:07,520 --> 00:03:10,840 Med andra ord, om den unika identifierare associerad med sliden 58 00:03:10,840 --> 00:03:15,070 som har förskjutits är lika citat unquote "Slide", den unika identifierare 59 00:03:15,070 --> 00:03:18,300 att vi som angavs tidigare, då Jag vill göra följande. 60 00:03:18,300 --> 00:03:25,040 >> Printf "reglaget var gled till% i backslash n, "vilket tyder på att jag skulle vilja 61 00:03:25,040 --> 00:03:28,200 att koppla in den integrerade värde av reglaget. 62 00:03:28,200 --> 00:03:34,300 Så kommatecken getValue av reglaget. 63 00:03:34,300 --> 00:03:39,210 >> Låt oss nu spara, kompilera, köra program, och bilden som reglaget. 64 00:03:39,210 --> 00:03:41,200 Gör reglaget. 65 00:03:41,200 --> 00:03:42,990 . / Reglaget. 66 00:03:42,990 --> 00:03:44,270 Där är min användargränssnitt. 67 00:03:44,270 --> 00:03:48,130 Där är min reglaget, till vänster av vilken är en 0, till höger som är 68 00:03:48,130 --> 00:03:49,820 100, båda etiketterna. 69 00:03:49,820 --> 00:03:52,740 Och när jag skjuter reglaget åt vänster och rätt, märker att i mitt 70 00:03:52,740 --> 00:03:56,160 konsolfönster Vi ses heltalsvärdet. 71 00:03:56,160 --> 00:03:59,840 >> Nu vet jag inte nödvändigtvis ser alla tal mellan 0 och 100, eftersom 72 00:03:59,840 --> 00:04:02,190 beroende på den hastighet med vilken Jag flyttar reglaget, min 73 00:04:02,190 --> 00:04:03,540 Programmet kanske inte märker. 74 00:04:03,540 --> 00:04:07,040 Men sannerligen, om jag flyttar det till något viss plats, är att värdet 75 00:04:07,040 --> 00:04:08,290 som kommer att skrivas ut. 76 00:04:08,290 --> 00:04:10,006