Μετά Δημιουργήστε το βασικό γραφικό περιβάλλον και το μηχανή κίνησης, introduciremos las primeras nociones de interacción por medio de la incorporación del modelo de eventos del ratón.
La técnica consistirá en generar un evento o suceso cada vez que se interactua con el ratón. Este evento será capturado por alguno de nuestros módulos de programación, lo procesará y generará algún tipo de acción.
Το πρώτο βήμα είναι να κατανοήσουν πώς μπορούν να παράγουν αυτά τα γεγονότα και, αργότερα, Θα ενσωματώσουμε διεξοδικότερο δράσεις. Για το παρόν είναι αρκετά για να καθορίσουν τον τύπο του συμβάν που παρουσιάζεται και η θέση στην οθόνη όπου το κάναμε.
Ο Event-driven προγραμματισμός είναι ένα προγραμματιστικό παράδειγμα τόσο τη δομή και την εφαρμογή των προγραμμάτων καθορίζονται από τα γεγονότα που συμβαίνουν στο σύστημα, καθορίζονται από το χρήστη ή να προκαλέσει οι ίδιοι.
Να κατανοήσουν το event-driven προγραμματισμός, Μπορούμε να τις καταπολεμήσουμε σε ό, τι δεν είναι: Ενώ στην διαδοχική προγραμματισμού (ο δομημένη) είναι ο προγραμματιστής ορίζει ποια θα είναι η ροή του προγράμματος, στο event-driven προγραμματισμός θα είναι ο χρήστης - ή ό, τι είναι ότι εφαρμόζετε το πρόγραμμα - που κατευθύνει τη ροή του προγράμματος. Αν και υπάρχει διαδοχική προγραμματισμού μπορεί να είναι παρέμβαση ενός πράκτορα εξωτερικό πρόγραμμα του, Οι παρεμβάσεις αυτές θα συμβεί όταν ο προγραμματιστής έχει καθοριστεί το, δεν ανά πάσα στιγμή δεδομένου ότι μπορεί να είναι στην περίπτωση event-driven προγραμματισμός.(Σε)
Υλοποιεί τη διασύνδεση ακροατή εκδήλωση
Θα εφαρμόσουμε το σύστημα γεγονότα σε μια κατηγορία μοναδική βιβλιοθήκη γραφικών για δεν αρχικά να περιπλέξει το μοντέλο. Το πρώτο πράγμα που θα κάνουμε θα είναι να τροποποιήσει τη δήλωση της κατηγορίας που είναι υπεύθυνοι για τη διατήρηση της βάσης δεδομένων και το χρώμα των γραφικών αντικειμένων: “Μαυροπίνακα”. Θα επισημαίνουμε με ετικέτα “υλοποιεί” Αυτή η κατηγορία είναι σε θέση να ακούτε το ποντίκι.
δημόσια τάξη Μαυροπίνακα extends Καμβά υλοποιεί MouseListener{
Το νέο περιβάλλον απαιτεί από εμάς να προσθέσετε μια νέα κλήση προς τις βιβλιοθήκες της JAVA για να βρείτε τα αρχεία που υλοποιεί αυτή διασύνδεση. Θα το κάνουμε με τη δεσμευμένη λέξη “import”.
import java.awt.event.MouseListener;
Θα χρειαστεί να εφαρμόσει τις μεθόδους που ορίζονται στο περιβάλλον εργασίας, καθώς και η εισαγωγή της τάξης “MouseEvent” που έχει περάσει ως παράμετρος σε αυτές τις μεθόδους. Προς το παρόν απλά θα δηλώνουμε τους χωρίς την ενσωμάτωση κάθε λειτουργικότητα.
public void mouseClicked(MouseEvent arg0) { // Όλα Auto-δημιουργούνται μέθοδος στέλεχος } public void mouseEntered(MouseEvent arg0) { // Όλα Auto-δημιουργούνται μέθοδος στέλεχος } public void mouseExited(MouseEvent arg0) { // Όλα Auto-δημιουργούνται μέθοδος στέλεχος } public void mousePressed(MouseEvent arg0) { // Όλα Auto-δημιουργούνται μέθοδος στέλεχος } public void mouseReleased(MouseEvent arg0) { // Όλα Auto-δημιουργούνται μέθοδος στέλεχος }
Το αρχείο καταγραφής συμβάντων
Καταγράφουμε μια εκδήλωση του ποντικιού όποτε κάνει την εμφάνισή. Στην κατασκευή της κλάσης ή μια μέθοδο κλήση θα ενσωματωθεί “addMouseListener” να δείξετε ότι θέλετε να προσθέσετε τον ακροατή.
Η παράμετρος που μεταβιβάζεται είναι το όνομα της κλάσης που ακούει το ποντίκι. Στην περίπτωσή μας θα επισημαίνουμε ότι είναι στην ίδια κατηγορία που καταγράφει το γεγονός το οποίο θα ενημερώνουμε όταν συμβεί αυτό. Αυτό έκανε αναλαμβάνουμε με ετικέτα “Αυτό“.
public Μαυροπίνακα(){ Αυτό.addMouseListener(Αυτό); }
Διαχείρισης της εκδήλωσης
Ορίζουμε μια-δυο μεταβλητές που αποθηκεύουν τις συντεταγμένες της θέσης της οθόνης όπου Πιέστηκε το ποντίκι
ιδιωτικό int lastX = 0; ιδιωτικό int lastY = 0;
Θα εφαρμόσουμε μία από τις προηγούμενες συναρτήσεις, για παράδειγμα, που εκτελείται κάθε φορά που πατιέται το κουμπί του ποντικιού “mouseClicked”. Αυτή τη στιγμή θα πατήθηκε απλά κρατήστε συντεταγμένες στο οποίο, Αν και θα μπορούσε να έχουν πολύπλοκη προγράμματος με πρόσθετες λειτουργίες.
Αυτές οι συντεταγμένες είναι στο αντικείμενο ή γεγονός που είναι μεταβιβάστηκε στη συνάρτηση, το αντικείμενο “MouseEvent”
public void mouseClicked(MouseEvent arg0) { lastX = getX arg0.(); lastY = getX arg0.(); }
Θα τροποποιήσει τη μέθοδο που είναι υπεύθυνη για την κλήρωση στην οθόνη γραφικών ώστε να χρωματίζετε κάτι στην θέση όπου Πιέστηκε το ποντίκι. Πρόκειται για την απλούστερη εφαρμογή που μας επιτρέπει να ελέγξει γραφικά που έχουμε συλλαμβάνονται και επεξεργασία της εκδήλωσης ποντίκι.
public void paintOffScreen(Graphics g){ Καταμέτρηση enum = BD. στοιχεία(); Αντικείμενο ob; Ενώ(enum.hasMoreElements()){ OB = nextElement enum.(); if(OB instanceof SimpleDrawable){ ((SimpleDrawable) OB).paint(g); } } paintMousePosition(g); }
Υπεύθυνος για τη συνάρτηση αυτή είναι “paintMousePosition”, η εφαρμογή των οποίων είναι να γράψετε γραφικά τις αποθηκευμένες συντεταγμένες της θέσης ποντίκι, με τη βοήθεια της συνάρτησης “Κορδόνι”.
private void paintMousePosition(Graphics g) { g.drawString("("+lastX ","+lastY ")", lastX, lastY); }
Πρέπει να είναι συνδεδεμένος για να αναρτήσεις σχόλιο.