เนื้อหา
การจับแป้นพิมพ์ใน Java ไม่เหมือนกับการรับอินพุตคีย์บอร์ด ในสถานการณ์ส่วนใหญ่โปรแกรมยอมรับการป้อนข้อมูลของผู้ใช้จากแป้นพิมพ์ในรูปแบบของตัวอักษรที่พิมพ์ได้ ตัวอักษรตัวเลขและสัญลักษณ์จะอ่านและจัดเก็บสะท้อนกลับไปที่หน้าจอหรือใช้เพื่อเริ่มต้นการดำเนินการอื่น ๆ ภายในโปรแกรม เมื่อจับภาพการกดปุ่มที่ไม่สามารถพิมพ์ได้ลูกศรทิศทางและปุ่ม Tab ตัวอย่างเช่นโปรแกรมจะต้องตีความโดยอินพุทและส่งไปยังไลบรารีอินพุต / เอาท์พุตที่เหมาะสมเพื่อจัดการ
คำสั่ง
จับภาพและประมวลผลอักขระที่ไม่สามารถพิมพ์ได้ใน Java (รูปภาพ Creatas / รูปภาพ Creatas / Getty)-
สร้างฟังก์ชั่นเพื่อตรวจจับการกดแป้นและกำหนดตัวแปรเพื่อติดตามเหตุการณ์:
บูลีนพับลิกสาธารณะ (เหตุการณ์อีคีย์ int) {
ตัวแปรบูลีนส่งกลับเฉพาะค่าจริงหรือเท็จ สถานะเริ่มต้นของตัวแปรประเภทนี้เป็นเท็จ การกดปุ่มจะเปลี่ยนค่าเป็นจริง ฟังก์ชั่นนี้จะส่งกลับค่าเทียบเท่า ASCII และเก็บไว้ในตัวแปร "key" จำนวนเต็ม
-
ตรวจสอบว่าคีย์ที่คุณกดเป็นอักขระที่พิมพ์ได้หรือไม่:
if (key> 31 && key <127) {
อักขระ ASCII ที่พิมพ์ได้มีค่าระหว่าง 31 ถึง 127 อักขระอื่น ๆ ทั้งหมดต้องการการจัดการเป็นพิเศษ
-
หากเป็นตัวอักษรที่พิมพ์ได้ให้ส่งค่าคีย์ไปที่โปรแกรม:
return validateText (กุญแจ); }
-
แจ้งให้โปรแกรมการเรียกทราบว่าไม่สามารถพิมพ์คีย์และต้องการการประมวลผลพิเศษหากอยู่นอกค่า ASCII ที่ระบุ:
กลับเท็จ }
เคล็ดลับ
- เมื่อค่าเท็จถูกส่งคืนไปยังโปรแกรมการเรียกใช้ฟังก์ชัน keyDown () จะส่งผ่านค่าคีย์ไปยังฟังก์ชัน superclass ที่มีอยู่ในไลบรารีคลาส Java Abstract Window Toolkit (AWT) ซึ่งรับผิดชอบการแสดงผลคีย์ที่ไม่สามารถพิมพ์ได้
- ส่วนรหัสที่สมบูรณ์:
- บูลีนพับลิกสาธารณะ (เหตุการณ์อีคีย์ int) {
- if (key> 31 && key <127) {
- ส่งคืน validateText (คีย์)
- }
- กลับเท็จ
- }