لويت:علامات التبويب - كيفية وضع علامة على علامة التبويب المحددة حاليًا

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

سؤال

لدي 4 علامات تبويب.يتم تمثيل كل علامة تبويب بواسطة زر.تُستخدم هذه الأزرار لتحديد علامة التبويب المعروضة حاليًا.يحتوي كل زر على رمز ونص.

أرغب في تمييز علامة التبويب المحددة حاليًا عن طريق تغيير لون الخلفية ولون تسمية النص للزر المقابل.أود أن أفعل ذلك باستخدام محرر السمات والموارد.

لقد قمت بإنشاء سمة وحددت أنماطًا غير محددة ومحددة وضغطت لـ UIID "Tab".تبدو علامات التبويب الخاصة بي رائعة في Sun WTK!بخير!لكنني وجدت أن علامات التبويب تبدو دائمًا غير محددة على الهاتف الحقيقي.لقد قمت بتجربة هاتفي Nokia 5800 XPressMusic وC7.لماذا الفرق؟

بعد بعض التجارب اكتشفت السبب - قد تكون الأزرار في حالتين فقط:غير محدد والضغط.لن يكونوا أبدًا في الحالة المحددة.في المحاكي، عندما أنتقل إلى زر باستخدام مفاتيح التنقل، يصبح محددًا.

إذن، ماذا علي أن أفعل لوضع علامة على علامة التبويب الحالية؟

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

المحلول 2

لقد نفذت ما احتاجه.بفضل شاي ومثاله.

لم أستخدم خصائص السمة وقمت بإجراء جميع التخصيصات في الكود.لقد فعلت ذلك لأنني لم أفهم كيف يمكن أن يساعدني إعداد UIID الفريد، نظرًا لأن المشكلة ليست في تحديد UIID الذي يجب تغيير الدعائم له، ولكن في تحديد نمط الزر المراد تغييره.

أدناه بعض الملاحظات الهامة للحل الخاص بي.

  1. يتصل addActionListener للأزرار بعد لقد أضافوا إلى علامات التبويب.
  2. عند الضغط على أي زر علامة تبويب، قم بالتحديث غير محدد أنماط أزرار علامة التبويب.كما يمكنك تغيير الرموز الخاصة بهم.
  3. نماذج الدعوة repaint() بعد الخطوة 2.

نصائح أخرى

يمكنك استخدام بعض الأساليب المختلفة خاصة في 1.5.

يحتوي LWUIT 1.5 على مكون علامات تبويب يقوم بكل شيء إلى حد كبير من أجلك وهو مرن بشكل ملحوظ.

يستخدم أزرار الاختيار التي يتم من خلالها استدعاء الأسلوب الكود الترميزي العام.تعمل أزرار التبديل مثل أزرار الاختيار ، لذلك عند الضغط على زر في المجموعة ، يظل مضغوطًا ويتم عرضه باستخدام نمط ToggleButton (يمكنك ضبط UIID على ما تريد).شاهد عينة من استخدام أزرار التبديل في جزء العرض التوضيحي للخط من العرض التوضيحي لـ LWUIT.

يتمثل أحد الخيارات التي ستعمل مع الإصدارات الأقدم من LWUIT في تعيين UIID للزر على قيمة مختلفة عند الضغط عليه (واستعادة UIID للزر المحدد مسبقًا إلى القيمة الأصلية).

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