ΟΜΙΛΗΤΗΣ 1: Ας γράψουμε ένα πρόγραμμα που έχει μια γραφική διεπαφή χρήστη με ένα πλαίσιο ελέγχου, και να δούμε αν δεν μπορούμε να καταλάβουμε πώς να ακούσουν για το χρήστη αλληλεπιδράσεις με αυτό το πλαίσιο ελέγχου ώστε να ότι μπορούμε να τυπώσουμε στην οθόνη κάθε φορά που ακούμε τον έλεγχο του χρήστη ή καταργήστε το συγκεκριμένο πλαίσιο ελέγχου. 

Έχω πάρει τον εαυτό μου ξεκίνησε εδώ στην εκ των προτέρων με κάποια σκελετός κώδικα. Τώρα, ας πάμε και να γεμίσει το κενό. Πρώτον, μετά την κατανομή του παραθύρου, είμαι πρόκειται να προχωρήσει και να διαθέσει ένα GCheckBox, καλώντας το πλαίσιο ελέγχου. Και Πάω να δώσουμε σε αυτήν την επιστροφή αξία της newGCheckBox, και είμαι πρόκειται να περάσει σε μια σειρά από, ας πούμε, "I Συμφωνώ. "Με άλλα λόγια, αυτή είναι η ετικέτα που θα συνδέεται με αυτό το πλαίσιο ελέγχου. 

Στη συνέχεια, ας πάμε μπροστά και να καλέσετε setActionCommand, περνώντας το κουτάκι και περνώντας σε ένα μοναδικό αναγνωριστικό, όπως το "check". Σε άλλες Δηλαδή, θέλω να συνδέσει ένα μοναδικό λέξη, κάπως αυθαίρετα, αλλά ειδικά σε αυτή την περίπτωση "έλεγχο" έτσι ότι, όταν αυτό το πλαίσιο ελέγχου είναι επιλεγμένο, I μπορεί δυνητικά μοναδικά προσδιορίσει ότι κουτάκι αν η σύνδεση μου συνέβη έχουν πολλαπλές πλαίσια ελέγχου. 

Ας επόμενη προσθέστε το πλαίσιο ελέγχου για το διεπαφή χρήστη με addToRegion, περνώντας στο παράθυρο, περνώντας σε κουτάκι, και περνώντας στο απόσπασμα unquote "SOUTH", "SOUTH" είναι το μοναδικό αναγνωριστικό ορίζεται στο Stanford Φορητό Βιβλιοθήκη που αναφέρεται απλά σε η νότια περιοχή, ή στο κάτω μέρος περιοχή, της διεπαφής χρήστη. 

Ας επόμενη σκόπιμα να προκαλέσει ένα άπειρο βρόχο. Μέσα από αυτόν τον βρόχο, ας τώρα ακούσετε για τρεις δράσεις. Ένας, ο χρήστης προσπαθεί να κλείστε το παράθυρο. Δύο, το έλεγχο της θυρίδας χρήστη. Και τρεις, ο χρήστης αποεπιλέγοντας το κουτί. 

Ας πρώτα να κηρύξει GActionEvent, αποκαλώντας την εκδήλωση. Και να εκχωρήσετε σε αυτό το αντάλλαγμα αξία της waitForEvent. Περνώντας σε ACTION_EVENT, σταθερή δηλωθεί στην Portable Stanford Βιβλιοθήκη που υποδεικνύει ότι είχα ήθελαν να ακούσουν για μια δράση. 

Ας επόμενο έλεγχο, αν, getEventType, περνώντας περίπτωση, ισούται με ίσους WINDOW_CLOSED, μια άλλη σταθερά που δηλώνεται στη φορητή Στάνφορντ βιβλιοθήκη που δείχνει ότι, πράγματι, το παράθυρο έχει κλείσει. Στη συνέχεια, ας σπάσει από μου διαφορετικά άπειρο βρόχο. 

Τέλος, ας ακούσουμε για τον χρήστη επιλέγοντας το πλαίσιο ή αποεπιλογή του κουτιού ως ακολούθως. Αν σύγκρισης συμβολοσειράς από getActionCommand, περνώντας στην εκδήλωση. Comma quote unquote "check" ισούται ισούται με 0. Με άλλα λόγια, αν το μοναδικό αναγνωριστικό που συνδέεται με το κουτάκι που είναι ήδη ελεγχθεί είναι, παραθέτω unquote, "έλεγχος", το μοναδικό αναγνωριστικό που παρέχονται νωρίτερα, τότε ας να προχωρήσει να κάνει τα εξής. 

Αν isSelected πλαίσιο ελέγχου, τότε θα πάω να εκτυπώσετε, για παράδειγμα, το πλαίσιο ελέγχου ελέγχθηκε. Αλλιώς Πάω να υποθέσουμε ότι η κουτάκι ήταν ανεξέλεγκτη, και έτσι είμαι πρόκειται να εκτυπώσετε αυτό αντ 'αυτού. Printf κουτάκι ήταν ανεξέλεγκτη. Με άλλα λόγια, είναι ένα άλλο isSelected συνάρτηση ορισμένη στο Stanford Φορητό Βιβλιοθήκη που κάνει ακριβώς αυτό - ελέγξτε αν επιλέγεται ένα κουτάκι. 

Ας σώσει τώρα, την κατάρτιση, και τρέξτε το πρόγραμμα. Κάντε κουτάκι. . / Κουτάκι. Υπάρχει διεπαφή χρήστη μου. Και πράγματι, δεν υπάρχει κουτάκι μου. Αν τώρα κάντε κλικ σε αυτό, "κουτάκι ήταν ελεγχθεί. «Και αν κάνω κλικ και πάλι, "Κουτάκι ήταν ανεξέλεγκτη."