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.