>> HÖGTALARE 1: Låt oss skriva ett program med en grafiskt användargränssnitt samt
ett textfält som gör att användaren kan skriver i någon sträng och tryck Enter, vid
vilken punkt som strängen är förutsatt att mitt program.
Ungefär som GetString i CS50 biblioteket fungerar, men denna gång med en
grafiskt användargränssnitt.
Låt oss komma igång.
>> Jag har redan skrivit några skelettkoden, så låt oss nu fylla i en tom.
GTextField, kalla det området.
Tilldela det returvärdet av newGTextField.
Och anger att jag skulle vilja se 10 tecken från användaren på
skärmen åt gången.
>> Låt oss nästa samtal setActionCommand, passerar i området, som går i säga,
quote unquote "ingång." Med andra ord låt oss förknippar med denna textfält
unik sträng "input". bara i fall min Användargränssnittet har flera text
fält, här strängen unikt identifiera denna.
>> Låt oss nästa samtal addToRegion, som går i fönster, som går i området, som går
i citat unquote "SOUTH," en unik identifierare som definieras i Stanford
Bärbar bibliotek som anger den södra eller botten
regionen i my användargränssnitt.
>> Låt oss nästa framkalla en oändlig loop.
Och inne i denna slinga, låt oss lyssna efter två händelser.
Ett, att användaren stänger fönstret.
Eller två, användaren skriver något in i det textfält.
Låt oss förklara en gActionEvent.
Kalla det evenemanget.
Tilldela den avkastningen värdet av waitForEvent.
Ange att den typ av händelse som vi skulle gillar att lyssna på är en ACTION_EVENT,
där ACTION_EVENT är en konstant förklarade i Stanford Portable
Bibliotek som anger denna typ av händelse.
>> Låt oss nästa kontroll om, getEventType, passerar händelse, lika likar
WINDOW_CLOSED, en annan konstant deklareras i Stanford Portable
Bibliotek som tyder på att fönstret har stängt.
Sedan ska vi helt enkelt bryta ut av detta oändlig slinga.
>> Annars, låt oss nu kontrollera om användare har skrivit något i det
textfält.
Om, sträng jämföra, getActionCommand, passerar händelse, kommatecken citat unquote
"Input" är lika med jämlikar 0.
Med andra ord, om den unika identifierare textfältet in i vilken
användaren har matat in någonting är lika till den unika identifierare som jag
specificerat tidigare, låt oss gör följande.
>> Printf citat unquote "% s inmatade." Och låt oss plug-in för att
% S returvärdet för gettext passerar inom det område, där Gettext är en annan
funktion, definierad i Stanford Bärbar Bibliotek, blir att texten
från ett fält.
>> Låt oss nu spara, kompilera, och köra programmet.
Gör text.
. / Text.
Det är min användargränssnitt, och det finns att textfältet längst ner.
Låt oss skriva något liknande h-e-l-l-o, Enter.
Och där, längst ner i min konsolfönster, faktiskt ser vi
att "hej" var inmatade.