Διαχείριση γεγονότων (events) Γεγονότα: Κλήσεις που παράγονται από γραφικά στοιχεία (Components) π.χ. click ποντικιού, μετακίνηση ποντικιού Ακρόαση-Διαχείριση γεγονότων: Ανατίθεται σε αντικείμενα κλάσεων που υλοποιούν ένα απαιτούμενο interface. Για κάθε ομάδα γεγονότων (π.χ. Mouse events, Action events) έχει προκαθοριστεί και ένα αντίστοιχο interface. Περιέχονται στο πακέτο java.awt.event.*
Interfaces του πακέτου java.awt.event ActionListener AdjustmentListener ComponentListener FocusListener ItemListener KeyListener MouseListener MouseMotionListener TextListener WindowListener ContainerListener java.awt.event Καταχώρηση ακροατή γεγονότων: addInterfaceNameListener( SomeClass c) Η κλάση someClass πρέπει να υλοποιεί ΟΛΕΣ τις συναρτήσεις του αντιστοίχου interface. Συνήθως όμως χρειάζόμαστε ελάχιστες από τις συναρτήσεις που υλοποιούνται στο εκάστοτε interface (π.χ. Μας ενδιαφέρει μόνο το mouse click του αριστερού πλήκτρου).
Adapter classes Προκαθορισμένες κλάσεις (για κάθε τύπο γεγονότων) οι οποίες υλοποιούν τα αντίστοιχα interfaces (Περιέχουν τις απαιτούμενες συναρτήσεις με κενό όμως σώμα.) Ο χρήστης ορίζει αντικείμενα των adapter κλάσεων και επεναπροσδιορίζει τις συναρτήσεις που τον ενδιαφέρουν (override) Η δημιουργία νέων αντικειμένων κλάσεων μπορεί να γίνει on the fly κατά την καταχώρηση του ακροατή γεγονότων στο όρισμα. Παράδειγμα: addMouseListener ( new MouseAdapter( ) Δημιουργία νέου addMouseListener ( new MouseAdapter( ) Δημιουργία νέου { object { object public void mouseClicked(MouseEvent evt) παράκαμψη της public void mouseClicked(MouseEvent evt) παράκαμψη της { mouseClicked( ){ } { mouseClicked( ){ } Κώδικας προς εκτέλεση... την οποία περιέχει Κώδικας προς εκτέλεση... την οποία περιέχει } by dafeult ένα object } by dafeult ένα object } της κλάσης } της κλάσης ); MouseAdapter ); MouseAdapter