>> Spreker 1: Kom ons skryf 'n program wat het 'n grafiese gebruikerskoppelvlak wat
sluit 'n skuiwer dat 'n gebruiker kan beweeg links na regs in volgorde paar om van te kies
waarde tussen twee heelgetalle.
>> Om dit te doen, het ek begin met sommige bevat code.
En nou, laat ons vul in 'n leë.
Kom ons kyk eers ken 'n GSlider, roeping dit skuiwer, en opdra
die terugkeer waarde van getGSlider.
En nou, laat ons spesifiseer dat ek wil hê dat die ondergrens van die glyer om 'n wees
integer van 0, die bogrens van die schuif knoppie vir 'n heelgetal van 100 te wees, en
die verstek aanvanklike waarde te wees 50.
>> Volgende, laat ons gaan voort en assosieer 'n aksie opdrag met hierdie schuifbalk deur
roep setActionCommand, verby in skuiwer, en slaag in 'n arbitrêre
maar unieke string soos kwotasie unquote "Skuif." Met ander woorde, "skyfie" is
gaan die identifikasie uniek te wees wat verband hou met hierdie schuifbalk.
Net in geval my user het verskeie sliders, kon ek onderskei
onder hulle met hierdie tegniek.
>> Volgende, laat ons noem addToRegion, verby in venster, verby in skuiwer, verby
in kwotasie unquote "suide" ten einde te voeg die glyer om die suidelike
streek van ons gebruikerskoppelvlak.
Waar kwotasie unquote "Suide" gebeur wees unieke identifikasie omskryf in die
Stanford draagbare biblioteek.
>> Maar nou, vir duidelikheid, aan die linkerkant van die skuiwer laat se harde
kode om die nommer 0.
En aan die regterkant van die glyer laat hard kode om die getal 100.
Sodat die gebruiker weet deur in te skuif die ding aan die linker-of die regterkant hoe
hulle die verandering van sy waarde.
>> Voordat ons ken wat skuiwer, laat ons gaan terug hier en ken 'n GLabel,
noem dit verlaat het.
En gee dit die terugkeer waarde van newGLabel, verby in kwotasie unquote -
Met ander woorde -
"0." Kom ons kyk nou addToRegion noem, verby in 'n venster, verby in die linker,
verby in kwotasie unquote "SUID." So dat hierdie etiket is opgeneem in wat
suidelike streek voor die glyer.
>> En nou na die skuiwer, laat ons gaan voort en verklaar 'n ander GLabel.
Noem dit reg toeken dit die terugkeer waarde van newGLabel.
Haal unquote - nog 'n string -
"100." En dan noem addToRegion, verby in 'n venster, verby in die regte,
verby in "Suide" as well.
Met ander woorde, ons het net verklaar dat 'n etiket, 'n skuiwer, en 'n ander etiket en
plaas hulle in die suidelike streek in daardie volgorde, sodat die gebruiker weet
wanneer hy of sy beweeg dit na die regte of links ongeveer watter waarde
hulle sal nader.
>> Kom ons kyk nou veroorsaak 'n oneindige lus.
En binnekant van die loop, laat eerste tjek vir 'n
GActionEvent, noem dit geval.
Toeken dit die terugkeer waarde van waitForEvent.
Slaag in aksie-gebeurtenis, 'n konstante verklaar in die Stanford Portable
Biblioteek wat aandui dat jy inderdaad wil om te wag vir 'n aksie.
>> Kom ons volgende tjek as getEventType, verby in geval, is gelyk aan
WINDOW_CLOSED, nog 'n konstante verklaar in die Stanford Portable
Biblioteek wat daarop dui dat die aksie is die sluiting van 'n venster.
Dan laat ons gaan voort en breek van hierdie andersins oneindige lus.
>> Anders, laat ons kyk of die gebruiker het gegly dat slider.
As string vergelyk van getActionCommand, verby in geval, komma, kwotasie unquote
"Skyfie" gelyk aan 0.
Met ander woorde, indien die unieke identifikasie verband hou met die skuiwer
wat gegly gelyk kwotasie unquote "Skuif," het die unieke identifikasie
dat ons verskaf vroeër, dan Ek wil graag die volgende te doen.
>> Printf "slider is gegly om% i agteroorskuisstreep n, "wat aandui dat ek wil
te prop in die integrale waarde van die slider.
So komma getValue van slider.
>> Kom ons nou ook red, saamstel, hardloop hierdie program, en skyfie wat schuif knoppie.
Maak slider.
. / Slider.
Daar is my user.
Daar is my skuiwer, aan die linkerkant van wat 'n 0, aan die regterkant van wat
100, beide van hulle etikette.
En as ek skuif die glyer om die linker en die reg, sien dat in my
konsole venster Ek sien Die heelgetal waarde.
>> Nou, ek nie noodwendig sien nie al die getalle tussen 0 en 100, want
afhangende van die spoed waarmee Ek skuif die glyer, my
program kan nie agterkom nie.
Maar inderdaad, as ek dit verskuif na enige spesifieke plek, dit is die waarde
wat sal druk.