اساتذتي الافاضل حياكم الله جميعا
كيف يمكنني اضافة خلفية صورة الى ListCellRenderer ؟؟
وقد كنت قد سألت في موضوع الاخ محمد عرسان والموضوع اغلق قبل اجابتي /index.php?showtopic=228002&st=20
وها انا افتحه كموضوع جديد
اساتذتي الافاضل حياكم الله جميعا
كيف يمكنني اضافة خلفية صورة الى ListCellRenderer ؟؟
وقد كنت قد سألت في موضوع الاخ محمد عرسان والموضوع اغلق قبل اجابتي /index.php?showtopic=228002&st=20
وها انا افتحه كموضوع جديد
اذا كان سوالك زى الصوره دى
ما عليك هو ان تقوم بعمل كائن جديد من نوع Painter
وتعمل override للداله بتاعت الـ paint اللى فيه
وتشوف عاوز تعملها صوره ولا لون ولا ايه بالظبط
يعنى المثال بتاع الصوره معمول بهذه الطريقه
Painter painter = new Painter() {
public void paint(Graphics g, Rectangle r) {
g.setColor(0xFF0000);
g.fillRect(list.getX(), list.getY(), list.getWidth(), list.getHeight());
}
};وبعد ما اعمل الـ list هاجعل الخلفيه بتاعتها بالـ painter دا
list = new List();
list.addItem("الاول");
list.addItem("الثاني");
list.addItem("الثالث");
list.addItem("الرابع");
list.addItem("الخامس");
list.addItem("السادس");
list.getSelectedStyle().setBgPainter(painter);
frame.addComponent(list);
list.getParent().setRTL(true);لكن ان كان شىء اخر فأرجوا التوضيح
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 5 سبتمبر 2010 في 17:52
معلش انا بصيت على السوال فى الموضوع اللى انت حاطط اللينك بتاعه
لكن مش اخدت بالى انت عاوز تعملها صوره
المهم علشان تعملها صوره
هو بس فيه شويه تعديلات على الكود بتاع الاخ محمد
اللى هو بتاع الـ ListCellRenderer
public Component getListCellRendererComponent(List list, Object value, int index, boolean isSelected) {
String text = (String) value;
Label label = new Label(/*index + ": " + */text);
label.setAlignment(Label.RIGHT);
label.getStyle().setBgTransparency(0);
try {
if (isSelected) {
label.getStyle().setFgColor(0xFF000);
label.getStyle().setBgImage(Image.createImage("/bg_se.png"));
} else {
label.getStyle().setBgImage(Image.createImage("/bg_t.png"));
label.getStyle().setFgColor(0x00000);
}
} catch (IOException ex) {
ex.printStackTrace();
}
return label;
}التعديلات اللى حصلت هنا
انى جعلت لكل خليه صوره فى الخلفيه
لكن هناك اختلاف بين خلفيه الخليه المختاره الان والخليه الغير مختاره
ولغيت
public Component getListFocusComponent(List list) {
Label label = new Label();
// label.getStyle().setBgColor(0x55555);
return label;
}اللون الموجود على الخليه المحدده اللى هو كانه light color انا لغيت دا
وبقى الشكل النهائى هكذا
هل هذا ما تريده ام ماذا ؟؟؟
انا كل شويه افكر اقول يمكن عاوز كذا
واهو الواحد بيتعلم بردوا :lol: :lol: :lol:
وهذا هو التطبيق بعد التعديل عليه حتى يظهر بالشكل الذى امامك فالصوره
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 5 سبتمبر 2010 في 18:46
@ Mahmoud Kelany
ممتاز
فنان :clapping: :clapping:
محمد عرسان كتب:@ Mahmoud Kelany
ممتاز
فنان :clapping: :clapping:
ربنا يخليك يا اخ محمد
شهاده اعتز بيها من اخ مثلك
انا بس كنت عاوز اساعد وكمان اتعلم بالمره
وانت عارف ان انا عاوز اتعلم الـ LWUIT
وانا طبعت الكتاب امبارح وان شاء الله هابدا فيه
بكرا على ما أعمل له جلاد
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 5 سبتمبر 2010 في 22:26
يا اخوان عندما وضع محمد المثال في المشاركه السابقه كان من أجل التبسيط والشرح..لذا وجب التنبيه الى أن هذه الطريقه غير مجديه بتاتا على الأجهزه لأنك تقوم بعمل Label في كل مره يتم استدعاء ال function وهو ما تم انشاء ال ListCellRenderer من أجل تفاديه.
ربما أشحرها بالتفصيل اذا توفر لي الوقت..أو يمكن محمد يريحني ويرشحها هو :wink:
مهدي حجازي كتب:يا اخوان عندما وضع محمد المثال في المشاركه السابقه كان من أجل التبسيط والشرح..لذا وجب التنبيه الى أن هذه الطريقه غير مجديه بتاتا على الأجهزه لأنك تقوم بعمل Label في كل مره يتم استدعاء ال function وهو ما تم انشاء ال ListCellRenderer من أجل تفاديه.
ربما أشحرها بالتفصيل اذا توفر لي الوقت..أو يمكن محمد يريحني ويرشحها هو :wink:
طيب فين الطريقه الاجدى من ذلك ؟
لا طبعا اكيد انت اللى هتشرحها
علشان حاجتين
انت اللى اتكلمت عنها :lol: :lol:
فبالتالى اتدبست فى انك هتشرحها
وكمان الاخ محمد مشغول شويه
ههههههههه
منتظرينك ان شاء الله :)
لانى بحب الطرق التى لا تكلف والمتبعه للقواعد
مهدي حجازي كتب:يا اخوان عندما وضع محمد المثال في المشاركه السابقه كان من أجل التبسيط والشرح..لذا وجب التنبيه الى أن هذه الطريقه غير مجديه بتاتا على الأجهزه لأنك تقوم بعمل Label في كل مره يتم استدعاء ال function وهو ما تم انشاء ال ListCellRenderer من أجل تفاديه.
ربما أشحرها بالتفصيل اذا توفر لي الوقت..أو يمكن محمد يريحني ويرشحها هو :wink:
الله يجزيك الخير
بصراحة انا بحب طريقة شرحك :lol: :lol:
فا انت اشرحها لاستفيد ايضا، ولا بدك تضيع الاخوان بشرحي :lol: :lol:
:clapping: للجميع
جميل جدا اخ محمد انا لا اقصد الطريقة الثانية
اقتباسمعلش انا بصيت على السوال فى الموضوع اللى انت حاطط اللينك بتاعهلكن مش اخدت بالى انت عاوز تعملها صوره
المهم علشان تعملها صوره
هو بس فيه شويه تعديلات على الكود بتاع الاخ محمد
اللى هو بتاع الـ ListCellRenderer
ولا الاولى
اقتباسما عليك هو ان تقوم بعمل كائن جديد من نوع Painterوتعمل override للداله بتاعت الـ paint اللى فيه
وتشوف عاوز تعملها صوره ولا لون ولا ايه بالظبط
يعنى المثال بتاع الصوره معمول بهذه الطريقه
وبعد ما اعمل الـ list هاجعل الخلفيه بتاعتها بالـ painter دا
list = new List();
list.addItem("الاول");
list.addItem("الثاني");
list.addItem("الثالث");
list.addItem("الرابع");
list.addItem("الخامس");
list.addItem("السادس");
list.getSelectedStyle().setBgPainter(painter);
frame.addComponent(list);
list.getParent().setRTL(true);
لكن ان كان شىء اخر فأرجوا التوضيح
انا اقصد ال list ككل تكون على صورة اي ال lable ليس له دخل بمعنى اخر لل form الذي بعد الlist توجد صورة او لون هل وضحت الفكرة يا اخ محمد :P
ولكنني توصلت للحل وكان سهلا :blush: وهذا كود اضافة الصورة
try {
mImage =Image.createImage("/dd.png");
} catch (IOException e) {
e.printStackTrace();
}
frame.getStyle().setBgImage(mImage);اما اللون
frame.getStyle().setBgColor(0xFF0000);
ولا تنسوا الاعلان
private Image mImage;
وكذللك اضافة
import com.sun.lwuit.Image;
لكن ما عملته جميل جدا وايضا يضيف الى معلوماتنا ونقول جميل منك يا اخ محمد واجمل من الاخ مهدي اذا شرح الطريقة التي يقول عنها نحن نطمع بالكثير لنتعلم :lol:
شكرا لكم جميعا
تم تعديل هذه المشاركة بواسطة albakri في 6 سبتمبر 2010 في 11:02
انت فى سوال قولت
اقتباسكيف يمكنني اضافة خلفية صورة الى ListCellRenderer ؟؟
لكن السوال يكون كيف اعمل للـ form خليفه او صوره ؟
لكن حصل خير
لولا السوال هذا ما كنت فكرت فيه :lol: :lol: :lol:
محمد عرسان كتب:الله يجزيك الخير
بصراحة انا بحب طريقة شرحك :lol: :lol:
فا انت اشرحها لاستفيد ايضا، ولا بدك تضيع الاخوان بشرحي :lol: :lol:
ماشي يا حج محمد يعني الا ما لبستني الموضوع..عموما الطريقه هي الطريقه الثانيه التي ذكرتها في الرابط أعلاه وما كنت سأقوم به هو شرحها فقط. لذلك عليكم بالصبر وحتى ذلك الحين يمكن لمن يحتاج ال ListCellRenderer ان يستخدمها من الرابط المذكور
تم تعديل هذه المشاركة بواسطة مهدي حجازي في 8 سبتمبر 2010 في 21:54
رائع استفدت من الموضوع بحق
ولكن المكتبة لم يتعرف عليها المحاكي wirless toolkit
فيظهر هذا الخطأ
.java:7: package com.sun.lwuit does not exist
import com.sun.lwuit.Image;
كما لم يتم التعرف على frame
ارجو الافاده
جاوبت على حضرتك فالموضووع الاخر
وماذا تقصد بالـ Frame
لا يوجد Frame فالمكتبه
شكرا لك
frame اكتشفت انه كائن من النوع form
لكن كيف اضيف صورة مع كل خيار؟
pure love كتب:شكرا لك
frame اكتشفت انه كائن من النوع form
لكن كيف اضيف صورة مع كل خيار؟
صوره ايه ؟
ممكن توضحى؟؟؟؟
Mahmoud Kelany كتب:صوره ايه ؟
ممكن توضحى؟؟؟؟
أقصد أن الليسته تحتوي على صوره مجاوره لكل خيار
pure love كتب:أقصد أن الليسته تحتوي على صوره مجاوره لكل خيار
اتفضلى او اتفضل
بصراحه انا مش عارف انا بتكلم مع ولد او بنت
المهم
دا المطلوب
ودا المشروع
ListCellRenderMobileApplication.zip
بالتوفيق :)
شكرا لك وفقك الله
سأرى ما المشكله لدي
pure love كتب:شكرا لك وفقك الله
سأرى ما المشكله لدي
العفو تحت امرك
ممكن بس لو فيه سوال تانى تعرضه فى موضوع مستقل
وفقا لقوانين المنتدى
بالتوفيق :)