HÖGTALARE 1: Låt oss skriva ett program som har ett grafiskt användargränssnitt med ett kryssrutan, och se om vi inte kan räkna reda på hur man lyssnar efter användare interaktioner med denna kryssruta så att vi kan trycka på skärmen när vi hör användaren check eller avmarkera den kryssrutan. 

Jag har fått mig började här i avancera med några skelett kod. Nu ska vi gå och fylla i de tomma. Först efter att fördela det fönstret, jag är kommer att gå vidare och tilldela en GCheckBox, kalla det kryssrutan. Och jag kommer att tilldela den avkastningen värdet av newGCheckBox, och jag är kommer att passera i en sträng av, säg, "Jag överens. "Med andra ord, det är den etikett som kommer att associeras med denna kryssruta. 

Nu ska vi gå vidare och ringa setActionCommand, som går i kryssrutan och passerar i en unik identifierare, som "check". I andra ord, jag vill associera en unik ord, något godtyckligt, men särskilt i det här fallet "kolla", så att när den här kryssrutan är markerad, jag kan potentiellt unikt identifiera det checkbox om min gränssnitt hände har flera kryssrutor. 

Låt oss nästa lägga kryssrutan till användargränssnitt med addToRegion, passerar i fönstret, som går i kryssrutan, och går i citat unquote "SÖDRA", "SOUTH" är unik identifierare definieras i Stanford Bärbar bibliotek som enbart avser den södra regionen, eller i botten region av ett användargränssnitt. 

Låt oss nästa medvetet framkalla en oändlig loop. Inne i denna slinga, låt oss nu lyssna efter tre åtgärder. Ett, att användaren försöker stänga fönstret. Två, användaren markera rutan. Och tre, användaren att avmarkera lådan. 

Låt oss först förklara en GActionEvent, kalla det evenemanget. Och tilldela den avkastningen värdet av waitForEvent. Passning i ACTION_EVENT, en konstant förklarade i Stanford Portable Bibliotek som tyder på att jag skulle gillar att lyssna för en åtgärd. 

Låt oss nästa kontroll om, getEventType, passerar händelse, lika likar WINDOW_CLOSED, en annan konstant deklareras i Stanford bärbara bibliotek som tyder på att, ja, fönstret har stängts. Sedan ska bryta sig ur min annars oändlig slinga. 

Slutligen, låt oss lyssna för användaren kryssa i rutan eller avmarkera rutan enligt följande. Om sträng jämföra av getActionCommand, passerar händelse. Komma citat unquote "check" är lika är lika med 0. Med andra ord, om den unika identifierare associerad med den kryssruta som har kontrollerats är, citat unquote "check", det unika identifierare som jag levererade tidigare, så låt oss fortsätta att göra följande. 

Om är vald kryssruta, så jag ska för att skriva ut, till exempel, checkbox kontrollerades. Annars kommer jag att anta att kryss var okontrollerat, och så är jag kommer att skriva ut det här i stället. Printf kryss var okontrollerat. Med andra ord är är vald annan Funktionen definieras i Stanford Bärbar bibliotek som gör just det - kontrollera om en kryssruta är markerad. 

Låt oss nu spara, kompilera, och köra programmet. Gör kryssrutan. . / Kryssruta. Där är min användargränssnitt. Och faktiskt, det är min kryssrutan. Om jag nu klickar på den, "kryssrutan var kontrolleras. "Och om jag klickar på den igen, "Kryssrutan var okontrollerat."