سؤال

أود قفل الماوس داخل Jframe. أي أن الماوس لا يمكن أن يترك محتويات JFrame (ما لم يضرب المستخدم الهروب ، أو التاب ، أو النافذة يفقد التركيز). أفكار؟

شكرًا!

هل كانت مفيدة؟

المحلول

لست متأكدًا مما إذا كانت هناك طريقة أكثر تلقائية للقيام بذلك ، ولكن يمكنك استخدام فئة الروبوت لتعيين موضع الماوس. لذلك في معالج الحدث عندما تركز مكاسب JFRAME ، يمكنك البدء في مشاهدة حدث Mouse Move ، وعندما يتحرك الماوس فقط تأكد من بقائه داخل JFRAME. إذا ترك JFrame ، يمكنك استخدام فئة Robot لتعيين موضع الماوس للعودة.

ثم عندما تفقد النافذة التركيز ، يمكنك إلغاء التسجيل من حدث Mouse Move.

نصائح أخرى

وفقا هذا الرابط يجب أن يكون سهلا.

جرب هذا: giveacodicetagpre.

سيعود هذا العدد الإجمالي للدقائق بين التواريخ

تحديث

أدخل وصف الصورة هنا

حل بديل آخر فكرت فيه للتو - قفل المؤشر إلى مركز الإطار ، وجعله غير مرئي. ثم يقدم مؤشر برنامج حيث يجب أن يكون المؤشر الحقيقي. يمكنك بعد ذلك قفل المؤشر إلى أي منطقة تريدها.

إليك مخثرة يمكن للمرء أن تعمل إذا لم تستخدم زر الماوس 2 في لعبتك. استخدم روبوتًا للضغط على Button2.

الفكرة هي أن يتم سحب الماوس ، ولم يتم نقله. كلما حصلت على حدث تم نقل الماوس ، فذلك لأن المستخدم قد أصدر Button2 ، لذا اضغط عليه مرة أخرى.

كلما حصلت على حدث تم سحب الماوس ، إذا كان الماوس خارج النافذة ، فأعاده.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top