swing:buttons_action_listeners

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
swing:buttons_action_listeners [2015/05/01 19:53]
gthanos created
swing:buttons_action_listeners [2016/02/26 11:15] (current)
Line 1: Line 1:
-====== Buttons & Action Listeners ======+====== Buttons & Action Listeners ​(Εισαγωγικά) ​======
  
 ===== Buttons ===== ===== Buttons =====
Line 11: Line 11:
 </​code>​ </​code>​
  
-,όπου το Button που δημιουργείται γράφει //"​Click to end program"//​. Ένα αντικείμενο JButton επίσης συνδέεται με έναν ή περισσότερα αντικείμενα του τύπου //​ActionListener//​ τα οποία εκτελούνται όταν ο χρήστης αλληλεπιδρά με το Button αυτό. Τέλος, το κάθε Button θα πρέπει να ενσωματωθεί σε ένα παράθυρο (ή σε κάποιο panel όπως θα δούμε αργότερα) μέσα από μία δήλωση ανάλογη με την 3η γραμμή του παραπάνω κώδικα.+,όπου το Button που δημιουργείται γράφει //"​Click to end program"//​. Ένα αντικείμενο ​[[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JButton.html|JButton]] ​επίσης συνδέεται με έναν ή περισσότερα αντικείμενα του τύπου //​ActionListener//​ τα οποία εκτελούνται όταν ο χρήστης αλληλεπιδρά με το Button αυτό. Τέλος, το κάθε Button θα πρέπει να ενσωματωθεί σε ένα παράθυρο (ή σε κάποιο panel όπως θα δούμε αργότερα) μέσα από μία δήλωση ανάλογη με την 3η γραμμή του παραπάνω κώδικα.
  
 <WRAP tip 80% center round> <WRAP tip 80% center round>
Line 19: Line 19:
 ===== Action Listeners ===== ===== Action Listeners =====
  
-Όταν ο χρήστης πατάει το ποντίκι του πάνω σε ένα κουμπί ενός παραθύρου δημιουργείται ένα αντικείμενο που αντιστοιχεί στο event που δημιούργησε ο χρήστης. Το αντικείμενο αυτό (event object) λαμβάνεται από ένα άλλο αντικείμενο που ​ονομάζεται ​λειτουργεί ως ακροατής τέτοιων events και ονομάζεται listener. ​Ο listener όταν λάβει ένα event έχει σαν στόχο να εκτελέσει μία μέθοδο ως απάντηση στο συγκεκριμένο event. Η κλήση της συγκεκριμένης μεθόδου γίνεται ασύγχρονα πράγμα που σημαίνει ότι καλείστε να ορίσετε την μέθοδο,​ αλλά σε κανένα σημείο του προγράμματος σας δεν θα χρειαστεί να την καλέσετε. Συνοπτικά,​ κάθε πρόγραμμα οφείλει να προσδιορίσει ποια αντικείμενα τύπου [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​awt/​event/​ActionListener.html|ActionListener]] αποτελούν ​ActionListeners ​για το συγκεκριμένο αντικείμενο.+Όταν ο χρήστης πατάει το ποντίκι του πάνω σε ένα κουμπί ενός παραθύρου δημιουργείται ένα αντικείμενο που αντιστοιχεί στο event που δημιούργησε ο χρήστης. Το αντικείμενο αυτό (event object) λαμβάνεται από ένα άλλο αντικείμενο που λειτουργεί ως ακροατής τέτοιων events και ονομάζεται listener. ​Το αντικείμενο ​listener όταν λάβει ένα event εκτελεί μία μέθοδο ως απάντηση στο συγκεκριμένο event. Η κλήση της συγκεκριμένης μεθόδου γίνεται ασύγχρονα πράγμα που σημαίνει ότι καλείστε να ορίσετε την μέθοδο,​ αλλά σε κανένα σημείο του προγράμματος σας δεν θα χρειαστεί να την καλέσετε. Συνοπτικά,​ κάθε πρόγραμμα οφείλει να προσδιορίσει ποια αντικείμενα τύπου [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​awt/​event/​ActionListener.html|ActionListener]] αποτελούν ​listeners ​για το συγκεκριμένο αντικείμενο
 + 
 +Η μέθοδος που καλείται κάθε φορά από τα αντικείμενα τύπου Listener είναι η μέθοδος  
 +<code java> 
 +void actionPerformed(ActionEvent e); 
 +</​code>​ 
 +όπου ως παράμετρος λαμβάνεται το event που παράγεται από την διαπαφή του χρήστη με το αντικείμενο που δημιούργησε το event (μέχρι τώρα είδαμε αντικείμενα τύπου button).
  
  
  
  
swing/buttons_action_listeners.1430510004.txt.gz · Last modified: 2016/02/26 11:15 (external edit)