سؤال

هل من الممكن وضع مكون الطفل داخل JButton وجعلها شفافة إلى مجموعة فرعية من أحداث الماوس بحيث:

  • مكون الطفل يتلقى MouseMotionEventS (حتى تتمكن من الاستجابة عن طريق تعديل صورة معروضة)
  • النقر لا يزال يضعف JButton "وراء" مكون الطفل

إذا قمت بإضافة مكون الطفل إلى الزر، فلا يجري تغييرات أخرى، لا تنشيط النقر في المنطقة المحتلة من قبل الطفل الزر.

أعلم أن هذا يمكن تحقيقه من خلال إنشاء فئة جديدة تمتد JButton لكنني أفضل استخدام مكون الطفل الذي كتب بالفعل.

ملاحظة: هذا هو الأسباب التجميلية بحتة. مكون الطفل يغير فقط مظهره الخاص. لا يقوم بأي إجراءات أخرى ردا على النقرات. هناك واحد فقط Action, ، الناجمة عن الزر في الطريقة العادية.

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

المحلول

نعم، من الممكن ولكن ربما هناك طرق أفضل لتغيير مظهر JButton على الماوس فوق. يمكنك تمديد buttonui للقيام بذلك. ومع ذلك، إذا كنت ترغب في إسقاط مكون فوق JButton، فيجب عليك اجتياز أحداث الماوس الأخرى (مثل النقرات) إلى JButton الأساسي.

نصائح أخرى

JXLayer هو مجرد الشيء الذي تحتاجه. الدفع https://jxlayer.dev.java.net/يحتوي موقع المشروع على العديد من المقالات الجيدة حول استخدام JXLayer للعديد من حالات الاستخدام المختلفة.

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