Spreker 1: Kom ons skryf 'n program wat het 'n grafiese gebruikerskoppelvlak met 'n boks, en kyk of ons nie kan uitvind uit te vind hoe om te luister vir die gebruiker interaksies met daardie boks so dat ons kan druk op die skerm wanneer ons hoor die gebruiker tjek of verwyder jy dat boks. Ek het myself gekry het hier in bevorder met 'n paar geraamte kode. Laat ons gaan en vul die leë nou. Eerstens, ná die toekenning van die venster, ek is gaan om voort te gaan en ken 'n GCheckBox, noem dit boks. En ek gaan aan toe te wys die terugkeer waarde van newGCheckBox, en ek is gaan in 'n string van, sê, "Ek te slaag saamstem nie. "Met ander woorde, dit is die etiket wat verband hou sal word met die boks. Volgende, laat ons gaan voort en noem setActionCommand, verby in die boks en slaag in 'n unieke identifikasie, soos "tjek." In ander woorde, ek wil assosieer 'n unieke woord, ietwat arbitrêr, maar spesifiek in hierdie geval "gaan," sodat dat wanneer hierdie boks is nagegaan, ek kan potensieel uniek identifiseer wat boks in my interface gebeur het verskeie blok. Kom ons langs voeg die boks aan die user met addToRegion, verby in 'n venster, verby in boks, en verby in kwotasie unquote "Suid" "Suide" om unieke identifikasie omskryf in die Stanford Draagbare biblioteek wat net verwys na die suidelike streek, of die onderkant streek, van 'n gebruikerskoppelvlak. Kom ons volgende doelbewus veroorsaak n oneindige lus. Binnekant van die loop, laat ons nou luister vir drie stappe. Een, die gebruiker probeer om te naby die venster. Twee, die gebruiker die boks. En drie, die gebruiker unchecking die vak. Kom ons kyk eers verklaar 'n GActionEvent, noem dit geval. En wys dit die opbrengs waarde van waitForEvent. Slaag in ACTION_EVENT, 'n konstante verklaar in die Stanford Portable Biblioteek wat daarop dui dat ek wil wil luister vir 'n aksie. Kom ons volgende tjek indien getEventType, verby in geval, is gelyk aan gelykes WINDOW_CLOSED, nog 'n konstante verklaar in die Stanford draagbare biblioteek wat daarop dui dat, wel, die venster gesluit is. Toe laat breek uit my anders oneindige lus. Laastens, laat ons luister vir die gebruiker die boks of unchecking die boks soos volg. As string vergelyk van getActionCommand, verby in geval. Komma kwotasie unquote "check" gelyk aan 0. Met ander woorde, indien die unieke identifikasie verband hou met die boks wat al nagegaan is, haal unquote, "gaan," het die unieke identifikasie wat ek verskaf vroeër, dan laat voortgaan om die volgende te doen. As isSelected boks, dan gaan ek uit te druk, byvoorbeeld, boks nagegaan. Anders gaan ek om te aanvaar dat die boks was afgeskakel, en so ek is gaan uit te druk hierdie plaas. Printf boks was afgeskakel. Met ander woorde, isSelected is 'n ander funksie gedefinieer in die Stanford Draagbare Biblioteek wat nie presies dit - kyk of 'n boks is gekies. Kom ons nou ook red, saamstel, en die uitvoering van hierdie program. Maak boks. . / Boks. Daar is my user. En inderdaad, daar is my boks. As ek op dit nou, "boks was nagegaan. "En as ek kliek dit weer, "Boks was afgeskakel."