>> LUIDSPREKER 1: Laten we een programma schrijven dat heeft een grafische user interface die
bevat een slider die een gebruiker kan bewegen van links naar rechts om wat te kiezen
waarde tussen twee gehele getallen.
>> Om dit te doen, heb ik begonnen met sommige placeholder code.
En laten we nu in een lege vullen.
Laten we eerst een GSlider toewijzen, bellen het slider, en ken
de return waarde van getGSlider.
En laten we nu aangeven dat ik wil de ondergrens van de schuifregelaar om een ​​te zijn
geheel getal van 0, de bovengrens van de schuifregelaar om een ​​geheel getal van 100, en
de standaard initiële waarde 50.
>> Vervolgens laten we verder gaan en associëren een actie commando met deze schuifknop door
roepen setActionCommand, passeren in slider, en het overgaan in een willekeurige
maar unieke string als citaat unquote "Schuiven." Met andere woorden, "slide" is
naar de unieke identificator worden in verband met deze slider.
Gewoon voor het geval mijn gebruikersinterface had meerdere sliders, kon ik onderscheiden
waaronder met deze techniek.
>> Vervolgens laten we noemen addToRegion, passeren in venster, passeren in slider, passeren
in citaat unquote "ZUIDEN," om voeg de schuifregelaar naar het zuidelijkste
regio van onze user interface.
Waar citaat unquote "SOUTH" overkomt zijn unieke identificatie in de zin van de
Stanford Portable Library.
>> Maar nu, duidelijkheidshalve links van de schuif laten we moeilijk
code het nummer 0.
En rechts van de schuif laten harde code het nummer 100.
Zodat de gebruiker weet uit door de ding naar links of rechts hoe
ze zijn waarde veranderen.
>> Voordat we te wijzen dat slider, laten we ga terug hier en kennen een glabel,
noemde het naar links.
En toewijzen van de return waarde van newGLabel, passeren in citaat unquote -
met andere woorden -
"0." Laten we nu addToRegion noemen, passeren in het venster, passeren in de linker,
passeren in citaat unquote "ZUIDEN." Dus dat dit label in dat wordt ingevoegd
zuidelijke regio voor de schuifregelaar.
>> En nu, na de schuif, laten we gaan gang en verklaren andere glabel.
Noemde het recht, toe te wijzen de waarde van newGLabel terugkeren.
Quote unquote - andere string -
"100". En dan bellen addToRegion, passeren in het venster, passeren in rechts,
passeren in "Zuid" ook.
Met andere woorden, we hebben net uitgeroepen label, een slider, en een ander label en
gestoken ze in de zuidelijke regio in die volgorde, zodat de gebruiker weet
wanneer hij beweegt naar rechts of naar links ongeveer wat waarde
ze zullen naderen.
>> Laten we nu een oneindige lus veroorzaken.
En de binnenkant van deze lus, laat eerste controle voor een
GActionEvent, noemde het evenement.
Toe te wijzen de terugkeer waarde van waitForEvent.
Passeren in ACTION-EVENT, een constante in de Stanford Portable verklaard
Bibliotheek die dat je inderdaad aangeeft wilt wachten voor een actie.
>> Laten we volgende controle indien getEventType, passeren in geval gelijk
WINDOW_CLOSED, een andere constante verklaard in de Stanford Portable
Bibliotheek die aangeeft dat de actie is het sluiten van een raam.
Dan laten we verder gaan en breken van deze anders oneindige lus.
>> Else, laten we controleren of de gebruiker heeft geschoven dat slider.
Als string vergelijker van getActionCommand, passeren in geval, komma, citaat unquote
"Slide" is gelijk aan gelijk is aan 0.
Met andere woorden, als de unieke identificator verbonden met de schuif
dat is geschoven gelijk citaat unquote "Slide", de unieke identificatie
dat we eerder voorzien, dan Ik wil het volgende doen.
>> Printf "slider werd geschoven% i Backslash n, "wat aangeeft dat ik zou willen
aan te sluiten in de integrale waarde van de schuifregelaar.
Dus komma getValue van de slider.
>> Laten we nu nog redden, compileren, voer je dit programma, en dia die slider.
Maken slider.
. / Slider.
Daar is mijn gebruikersinterface.
Er is mijn schuif links van die is een 0, rechts luidt
100, beide labels.
En als ik schuif de schuifregelaar naar links en het recht, merken dat in mijn
console venster Ik zal zien de integer waarde.
>> Nu, ik niet per se alle zien getallen tussen 0 en 100, omdat
afhankelijk van de snelheid waarmee Ik beweeg de schuifregelaar, mijn
programma misschien niet opmerken.
Maar inderdaad, als ik naar het aan een bepaalde locatie, dat is de waarde
dat wordt afgedrukt.