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


 
الرئيسيةجستجوأحدث الصورثبت نامورود

 

 Form in Canvas

اذهب الى الأسفل 
3 مشترك
نويسندهپيام
کمک




تعداد پستها : 36
Registration date : 2008-06-08

Form in Canvas Empty
پستعنوان: Form in Canvas   Form in Canvas Icon_minitimeالإثنين أغسطس 04, 2008 7:14 am

سلام دوستان در ادامه برنامه نویسی های ناشیانه من در محیط Canvas حالا به اینجا رسیدم که چطور میشه یک کلاس مثل Form توی Canvas داشت یعنی به این معنی که بتونیم یک سری Object رو در Canvas با هم داشته باشیم و روی آنها کنترل داشته باشیم مثلا من یک input text از نوع Canvas دارم میخوام 2 تا از این رو روی یک محیط Canvas با هم داشته باشم دقیقا مثل Form در قسمت Low level من روش درام کار میکنم کله جواب گرفتم میگه هر کدوم از دوستان که تجربه دارن کمک کنند ممنون میشم confused
بازگشت به بالاي صفحه اذهب الى الأسفل
haamoon




تعداد پستها : 308
Registration date : 2008-02-07

Form in Canvas Empty
پستعنوان: رد: Form in Canvas   Form in Canvas Icon_minitimeالإثنين أغسطس 04, 2008 12:39 pm

کمک نوشته است:
سلام دوستان در ادامه برنامه نویسی های ناشیانه من در محیط Canvas حالا به اینجا رسیدم که چطور میشه یک کلاس مثل Form توی Canvas داشت یعنی به این معنی که بتونیم یک سری Object رو در Canvas با هم داشته باشیم و روی آنها کنترل داشته باشیم مثلا من یک input text از نوع Canvas دارم میخوام 2 تا از این رو روی یک محیط Canvas با هم داشته باشم دقیقا مثل Form در قسمت Low level من روش درام کار میکنم کله جواب گرفتم میگه هر کدوم از دوستان که تجربه دارن کمک کنند ممنون میشم confused

خوب از اونجا که قبلا گفتم که اگر از Canvas استفاده کنید باید همه چیز رو خودتون بنویسید دیگه نمی گم!
روشی که اینجا شما می تونید انجام بدید اینه که یک کلاس Container بنویسید که تابعی مثل append داره و هر Item رو که توش append می کنید رو در یک Vector ذخیره می کنه. و یک تایع به اسم paint داره که بر اساس اینکه الان offset چنده تمام Item های درون خودش رو می کشه و البته اگر لیستش بلند هست فقط قسمت مورد نیاز رو می کشه. و یک تابع keyPressed داره که وقتی شما کلید بالا یا پایین رو می زنید Item که فوکوس شده رو تغییر می ده و اگر لازم بود offset رو هم عوض می کنه.

خوب حالا یک کلاس Form بسازید و از Canvas مشتق کنید و هر Form یک Container داره و ممکن علاوه بر اون یک title رو هم نمایش بده. و هر کلید که بهش می رسه تابع keyPressed مربوط به Container رو صدا می کنه. و در paint هم تابع paint مربوط به Container.
این کاریه که معموله و انجام می دن.
بازگشت به بالاي صفحه اذهب الى الأسفل
کمک




تعداد پستها : 36
Registration date : 2008-06-08

Form in Canvas Empty
پستعنوان: رد: Form in Canvas   Form in Canvas Icon_minitimeالثلاثاء أغسطس 05, 2008 8:54 am

با تشکر از راهنمایی تون برای دوستانی که متوجه نشدند لینک زیر برن تمام مطالب وجود داره :
http://www2.sys-con.com/ITSG/virtualcd/Java/archives/0606/cordrey/index.html
نکته اینجاست که باید کلاسهای از نوع Canvas که می نویسید رو از کلاس MComponent این سورس extends کنیدفرم اصلی تون هم که می خواید Object ها رو توش نمایش بدید باید از کلاس MContainer این سورس Extends بشه بعد در فرم اصلی تون چند Object از نوع Canvasمورد نظرتون بسازید و به Container تون add کنید.(مثلا add(Input1, 10, 50))
میدوارم واضح باشه اگه نبود با توضیحات لینک تکمیل میشه cheers
بازگشت به بالاي صفحه اذهب الى الأسفل
کمک




تعداد پستها : 36
Registration date : 2008-06-08

Form in Canvas Empty
پستعنوان: رد: Form in Canvas   Form in Canvas Icon_minitimeالثلاثاء أغسطس 05, 2008 11:31 pm

میتونید با اضافه کردن دو خط زیر در MComponent :
abstract public void lostFocus();
abstract public void gotFocus();
و تغییر دادن تابع changeFocus در MFocusManager به شکل زیر:
protected void changeFocus(int offset) {

container.getComponent(focusedComponentRank).lostFocus();

// notify currently focused component of change
MFocusEvent event = createFocusEvent(focusedComponentRank,MFocusEvent.FOCUS_LOST);
container.getComponent(focusedComponentRank).processFocusEvent( event );

focusedComponentRank += offset;

// notify newly focused component of change
event = createFocusEvent(focusedComponentRank,MFocusEvent.FOCUS_GAINED);
container.getComponent(focusedComponentRank).processFocusEvent(event);

container.getComponent(focusedComponentRank).gotFocus();

container.repaint(); // update display
} // changeFocus

(دوخط اضافه شده) توابع lostFocus و getFocus رو به Component هاتون اضافه کنید تا قبل از ورود به Componenet و بعد از خروج از اونها بتونید کارهای دلخواهتون رو انجام بدید cheers
بازگشت به بالاي صفحه اذهب الى الأسفل
Admin
Admin
Admin


تعداد پستها : 455
Location : Linux
Registration date : 2007-08-28

Form in Canvas Empty
پستعنوان: pasokh   Form in Canvas Icon_minitimeالأربعاء أغسطس 06, 2008 12:19 am

jenabe KOMAK besiar mamnun ham be khatere soal va hambe khatere javabesh.
بازگشت به بالاي صفحه اذهب الى الأسفل
http://j2me.blogfa.com
haamoon




تعداد پستها : 308
Registration date : 2008-02-07

Form in Canvas Empty
پستعنوان: رد: Form in Canvas   Form in Canvas Icon_minitimeالأربعاء أغسطس 06, 2008 9:15 am

مرسی.
لایبرری های دیگه ای هم هست که اینجا معرفی شده:
http://j2me.blogfa.com/post-87.aspx
بازگشت به بالاي صفحه اذهب الى الأسفل
 
Form in Canvas
بازگشت به بالاي صفحه 
صفحه 1 از 1
 مواضيع مماثلة
-
» show a message canvas ON other canvas
» form full screen & commands
» modiriyate CANVAS ha

صلاحيات هذا المنتدى:شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد
 :: سوال و جواب-
پرش به: