Περιεχόμενο
Η καταγραφή ενός πλήκτρου στην Java δεν είναι η ίδια με την αποδοχή εισόδου πληκτρολογίου. Στις περισσότερες περιπτώσεις, ένα πρόγραμμα δέχεται είσοδο χρήστη από το πληκτρολόγιο, με τη μορφή εκτυπώσιμων χαρακτήρων. Τα γράμματα, οι αριθμοί και τα σύμβολα διαβάζονται και αποθηκεύονται, επαναλαμβάνονται στην οθόνη ή χρησιμοποιούνται για να ξεκινήσουν κάποια άλλη ενέργεια μέσα στο πρόγραμμα. Όταν καταγράφετε την πίεση ενός μη εκτυπώσιμου κλειδιού, των βελών κατεύθυνσης και του πλήκτρου Tab, για παράδειγμα, η είσοδος πρέπει να ερμηνευτεί από το πρόγραμμα και να μεταδοθεί στην κατάλληλη βιβλιοθήκη εισόδου / εξόδου για να γίνει χειρισμός.
Οδηγίες
Καταγράψτε και επεξεργαστείτε μη εκτυπώσιμους χαρακτήρες σε Java (Creatas Images / Creatas / Getty Images)-
Δημιουργήστε μια λειτουργία για να ανιχνεύσετε το πληκτρολόγιο και να αντιστοιχίσετε μια μεταβλητή που θα ακολουθήσει το συμβάν:
δημόσιο κλειδί κλειδιού boolean (συμβάν e, πλήκτρο int) {
Μια Boolean μεταβλητή επιστρέφει μόνο την αληθινή ή ψευδή τιμή. Η προεπιλεγμένη κατάσταση αυτού του τύπου μεταβλητής είναι ψευδής. Πατώντας ένα πλήκτρο αλλάζει η τιμή στην αληθινή. Αυτή η συνάρτηση επιστρέφει επίσης το ισοδύναμο ASCII και την αποθηκεύει στην πλήρης μεταβλητή "key".
-
Προσδιορίστε εάν το κλειδί που πιέσατε είναι ένας εκτυπώσιμος χαρακτήρας:
εάν (πλήκτρο> 31 && <127) {
Οι εκτυπώσιμοι χαρακτήρες ASCII έχουν τιμές μεταξύ 31 και 127. Όλες οι υπόλοιπες απαιτούν ειδικό χειρισμό.
-
Εάν πρόκειται για έναν εκτυπώσιμο χαρακτήρα, περάστε την τιμή του κλειδιού στο πρόγραμμα:
επιστροφή validateText (κλειδί); }}
-
Ενημερώστε το καλώντας πρόγραμμα ότι το κλειδί δεν μπορεί να εκτυπωθεί και χρειάζεται ειδική επεξεργασία εάν είναι εκτός των καθορισμένων τιμών ASCII:
επιστροφή ψευδής? }}
Πώς
- Όταν η ψευδής τιμή επιστραφεί στο πρόγραμμα κλήσης, η συνάρτηση keyDown () μεταβιβάζει την τιμή του κλειδιού στη συνάρτηση υπερκλάσης που περιέχεται στη βιβλιοθήκη κλάσεων Java Abstract Book Toolkit (AWT), η οποία είναι υπεύθυνη για την απόδοση μη εκτυπώσιμων κλειδιών.
- Το πλήρες τμήμα κώδικα:
- δημόσιο κλειδί κλειδιού boolean (συμβάν e, πλήκτρο int) {
- εάν (πλήκτρο> 31 && <127) {
- επιστρέψτε το validateText (κλειδί).
- }
- επιστροφή ψευδής?
- }