Βίντεο: Web Programming - Computer Science for Business Leaders 2016 2024
Ακολουθεί ένα καλά κρυμμένο μυστικό: τα προγράμματα Java είναι πολυνηματικά, πράγμα που σημαίνει ότι πολλά πράγματα συμβαίνουν ταυτόχρονα κάθε φορά που τρέχετε ένα πρόγραμμα Java. Σίγουρα, ο υπολογιστής εκτελεί τον κώδικα που έχετε γράψει, αλλά εκτελεί και άλλο κώδικα (κώδικας που δεν γράψατε και δεν βλέπετε).
Όλος ο κώδικας αυτός εκτελείται ταυτόχρονα. Ενώ ο υπολογιστής εκτελεί τις δηλώσεις της κύριας μεθόδου σας, ο ένας μετά τον άλλον, ο υπολογιστής παίρνει χρόνο, σπάει μακριά για λίγο και εκτελεί δηλώσεις από κάποιες άλλες, αόρατες μεθόδους. Για τα περισσότερα απλά προγράμματα Java, αυτές οι άλλες μέθοδοι είναι αυτές που ορίζονται ως μέρος της Java Virtual Machine (JVM).
Για παράδειγμα, η Java έχει ένα νήμα αντιμετώπισης συμβάντων. Ενώ εκτελείται ο κώδικας, ο κώδικας του νήματος αντιμετώπισης συμβάντων εκτελείται στο παρασκήνιο. Ο κώδικας του νήματος για τον χειρισμό συμβάντος ακούει κλικ του ποντικιού και λαμβάνει την κατάλληλη ενέργεια κάθε φορά που ένας χρήστης κάνει κλικ στο ποντίκι. Το σχήμα δείχνει πώς λειτουργεί αυτό.
Όταν ο χρήστης κάνει κλικ στο κουμπί, το νήμα αντιμετώπισης συμβάντων λέει, "Εντάξει, το κουμπί έγινε κλικ. Λοιπόν, τι πρέπει να κάνω γι 'αυτό; "Και η απάντηση είναι," Καλέστε μερικές ενεργές μεθόδους. "Είναι σαν το νήμα αντιμετώπισης συμβάντων να έχει κώδικα που μοιάζει με αυτό:
αν (buttonJustGotClicked ()) {αντικείμενο1. actionPerformed (infoAboutTheClick); object2. actionPerformed (infoAboutTheClick); object3. actionPerformed (infoAboutTheClick)?}
Φυσικά, πίσω από κάθε απάντηση υπάρχει ακόμα μια ερώτηση. Σε αυτήν την περίπτωση, η ερώτηση παρακολούθησης είναι: "Πού βρίσκει το νήμα αντιμετώπισης συμβάντωνΠαρακαλούμε μεθόδους για κλήση; "Και υπάρχει μια άλλη ερώτηση:" Τι γίνεται αν δεν θέλετε το νήμα χειρισμού συμβάντων να καλέσει συγκεκριμένες ενέργειεςΠεραιτέρω μέθοδοι που κρύβονται στον κώδικα σας; "
Λοιπόν, γι 'αυτό καλείτε τη μέθοδο addActionListener. Στην καταχώρηση, το κουμπί κλήσης
. addActionListener (αυτό);
λέει το νήμα αντιμετώπισης συμβάντων, "Βάλτε την ενέργεια αυτού του κώδικα με τη μέθοδο που έχει διαμορφωθεί στη λίστα με τις μεθόδους που θα καλέσετε. Καλέστε την ενέργεια αυτού του κώδικαΕφαρμοσμένη μέθοδος κάθε φορά που κάνετε κλικ στο κουμπί. "
Έτσι, έτσι λειτουργεί. Για να ζητήσετε από τον υπολογιστή να καλέσει μια μέθοδο με ενέργεια, καταχωρείτε τη μέθοδο με το νήμα αντιμετώπισης συμβάντων της Java. Κάνετε αυτήν την εγγραφή καλώντας το addActionListener. Η μέθοδος addActionListener ανήκει στο αντικείμενο του οποίου τα κλικ (και άλλα συμβάντα) περιμένετε.
Στην καταχώρηση, περιμένετε να γίνει κλικ στο αντικείμενο κουμπιού και η μέθοδος addActionListener ανήκει σε αυτό το αντικείμενο κουμπιού.