كيفية التقاط ضربات المفاتيح في جاوة

مؤلف: Morris Wright
تاريخ الخلق: 28 أبريل 2021
تاريخ التحديث: 6 قد 2024
Anonim
اشياء احتمال تكون ماتعرفها - ريد ديد ريدمبشن |#2| RED DEAD REDEMPTION 2
فيديو: اشياء احتمال تكون ماتعرفها - ريد ديد ريدمبشن |#2| RED DEAD REDEMPTION 2

المحتوى

التقاط ضغط المفاتيح في Java ليس هو نفسه قبول إدخال لوحة المفاتيح. في معظم الحالات ، يقبل البرنامج إدخال المستخدم من لوحة المفاتيح ، في شكل أحرف قابلة للطباعة. يتم قراءة الحروف والأرقام والرموز وتخزينها ، وترددها مرة أخرى على الشاشة أو استخدامها لبدء بعض الإجراءات الأخرى داخل البرنامج. عند التقاط الضغط على مفتاح غير قابل للطباعة ، وأسهم الاتجاه ومفتاح Tab ، على سبيل المثال ، يجب تفسير الإدخال من قبل البرنامج وإرساله إلى مكتبة الإدخال / الإخراج المناسبة لكي تتم معالجتها.


الاتجاهات

التقاط ومعالجة الأحرف غير القابلة للطباعة في جافا (Creatas Images / Creatas / Getty Images)
  1. قم بإنشاء وظيفة لاكتشاف ضغط المفاتيح وتعيين متغير لمتابعة الحدث:

    keyoolown publicDown (الحدث e ، المفتاح int) {

    متغير منطقي بإرجاع القيمة الحقيقية أو الخاطئة فقط. الحالة الافتراضية لهذا النوع من المتغيرات خاطئة. يؤدي الضغط على مفتاح إلى تغيير القيمة إلى true. تقوم هذه الوظيفة أيضًا بإرجاع المكافئ ASCII وتخزينه في "المفتاح" المتغير الصحيح.

  2. تحديد ما إذا كان المفتاح الذي ضغطت هو حرف قابل للطباعة:

    if (مفتاح> 31 && مفتاح <127) {

    تحتوي أحرف ASCII القابلة للطباعة على قيم تتراوح بين 31 و 127. تتطلب جميع الأحرف الأخرى معالجة خاصة.

  3. إذا كانت شخصية قابلة للطباعة ، فقم بتمرير قيمة المفتاح إلى البرنامج:

    إرجاع validateText (مفتاح) ؛ }

  4. أبلغ برنامج الاتصال أنه لا يمكن طباعة المفتاح ويحتاج إلى معالجة خاصة إذا كان خارج قيم ASCII المحددة:


    عودة كاذبة ؛ }

نصائح

  • عند إرجاع القيمة الخاطئة إلى برنامج الاستدعاء ، تقوم دالة keyDown () بتمرير قيمة المفتاح إلى الدالة superclass الموجودة في مكتبة فئة Java Abstract Window Toolkit (AWT) ، المسؤولة عن تقديم المفاتيح غير القابلة للطباعة.
  • مقطع الكود الكامل:
  • keyoolown publicDown (الحدث e ، المفتاح int) {
  • if (مفتاح> 31 && مفتاح <127) {
  • إرجاع validateText (مفتاح).
  • }
  • عودة كاذبة ؛
  • }