كيف يمكنني الحصول على لون النص لزر ما باستخدام المادة LAF؟

StackOverflow https://stackoverflow.com/questions/2871548

  •  03-10-2019
  •  | 
  •  

سؤال

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

أنا على علم ColorSchemes لكنني لست متأكدًا من كيفية المتابعة بمجرد أن يكون لدي نظام ألوان الجلد الحالي. كما تقول وثائق المادة شيئًا ما حول إنشاء نظام الألوان الخاص بك ، لكن لا يمكنني اكتشاف طريقة لاسترداد لون معين.

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

المحلول

حسنًا ، أخيرًا اكتشفت ذلك بنفسي:

الخطوة المهمة هي معرفة صحيح نظام الألوان. لأنه في جوهر يمكن أن يكون لكل جزء من الجذر جلده الخاص ، من الأفضل استخدام getCurrentSkinالمساعد.

SubstanceColorScheme s = SubstanceLookAndFeel
        .getCurrentSkin(myComponent)
        .getEnabledColorScheme(
                SubstanceLookAndFeel.getDecorationType(myComponent)
         );

الاحتمالات الأخرى getDisabledColorScheme, getActiveColorScheme و getBackgroundColorScheme.

ثم يمكنك استخدام s.getForegroundColor أو طرق المساعد المختلفة من SubstanceColorUtilities.

نصائح أخرى

لماذا لا تسأل كيريل (منشئ المادة) في منتدى المواد في https://substance.dev.java.net/servlets/projectforumview

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