Tip:
Highlight text to annotate it
X
>> HÖGTALARE 1: Låt oss skriva ett program som har ett grafiskt användargränssnitt som
innefattar ett skjutreglage som en användare kan flytta vänster till höger för att välja en viss
värde mellan två heltal.
>> För att göra detta, har jag börjat med några platshållare kod.
Och nu ska vi fylla i en tom.
Låt oss först tilldela en GSlider, ringer det reglaget, och tilldela den
returvärde getGSlider.
Och nu ska vi ange att jag vill ha det sänker bundna av reglaget för att vara en
heltal av 0, den övre gränsen för reglaget för att vara ett helt tal av 100, och
standardinitialvärdet för att vara 50.
>> Nu ska vi gå vidare och koppla en action kommando med detta reglage med
ringer setActionCommand, passerar reglaget, och passerar på ett godtyckligt
men unik sträng som citat unquote "Glida". Med andra ord: "slide" är
kommer att vara identifierare unikt förknippade med detta reglage.
Bara i fall min användargränssnitt hade flera reglage, jag kunde urskilja
bland dem med denna teknik.
>> Nästa, låt oss kalla addToRegion, som går i fönster, som går i reglaget, passerar
i citat unquote "SOUTH," i syfte att lägga reglaget till den sydligaste
region i vårt användargränssnitt.
Där citerar unquote "SÖDRA" råkar vara unik identifierare som definieras i
Stanford Portable Library.
>> Men nu, för tydlighets skull, till vänster av reglaget låter hårt
koda nummer 0.
Och till höger av löparen låt oss hårt kod nummer 100.
Så att användaren vet genom att skjuta sak till vänster eller till höger hur
de är att ändra dess värde.
>> Innan vi fördela det reglage, låt oss gå tillbaka hit och tilldela en GLabel,
kalla det kvar.
Och tilldela returvärdet av newGLabel, som går i citat unquote -
med andra ord -
av "0." Låt oss nu kallar addToRegion, passerar i fönstret, som går i vänster,
passerar i citat unquote "SOUTH." Så att denna etikett sätts in som
södra regionen före reglaget.
>> Och nu efter reglaget, så går vidare och förklara en annan GLabel.
Kalla det rätt, tilldela den returnera värdet av newGLabel.
Citat unquote - en annan sträng -
"100." Och sedan ringa addToRegion, passerar i fönstret, som går in till höger,
passerar "SOUTH" också.
Med andra ord har vi bara deklarerat en etikett, ett skjutreglage, och en annan etikett och
insatt dem i den södra regionen i nämnd ordning, så att användaren vet
när han eller hon flyttar den åt höger eller till vänster ungefär vilket värde
de kommer att närma sig.
>> Låt oss nu framkalla en oändlig loop.
Och inne i denna slinga, låter första kontroll för en
GActionEvent, kalla det evenemanget.
Tilldela den avkastningen värdet av waitForEvent.
Förbi i ACTION-EVENT, en konstant förklarade i Stanford Portable
Bibliotek som anger att du verkligen vill vänta på en åtgärd.
>> Låt oss nästa kontroll om getEventType, passerar händelse, lika
WINDOW_CLOSED, en annan konstant deklareras i Stanford Portable
Bibliotek som anger att åtgärden är stängning av ett fönster.
Sedan ska vi gå vidare och bryta ut av denna annars oändlig slinga.
>> Else, låt oss kontrollera om användaren har glidit att reglaget.
Om sträng jämföra av getActionCommand, passerar händelse, kommatecken, citationstecken unquote
"Slide" är lika med är lika med 0.
Med andra ord, om den unika identifierare associerad med sliden
som har förskjutits är lika citat unquote "Slide", den unika identifierare
att vi som angavs tidigare, då Jag vill göra följande.
>> Printf "reglaget var gled till% i backslash n, "vilket tyder på att jag skulle vilja
att koppla in den integrerade värde av reglaget.
Så kommatecken getValue av reglaget.
>> Låt oss nu spara, kompilera, köra program, och bilden som reglaget.
Gör reglaget.
. / Reglaget.
Där är min användargränssnitt.
Där är min reglaget, till vänster av vilken är en 0, till höger som är
100, båda etiketterna.
Och när jag skjuter reglaget åt vänster och rätt, märker att i mitt
konsolfönster Vi ses heltalsvärdet.
>> Nu vet jag inte nödvändigtvis ser alla tal mellan 0 och 100, eftersom
beroende på den hastighet med vilken Jag flyttar reglaget, min
Programmet kanske inte märker.
Men sannerligen, om jag flyttar det till något viss plats, är att värdet
som kommer att skrivas ut.