الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لا استطيع فهم داله ال timer

مغلق
بدأه حسام زهير في 28 فبراير 2005 · 4 رد · 845 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لا استطيع فهم داله ال timer

هل من الممكن شرح مثال لتوضيح كيف يمكن استخدام هذه الداله

#2

على الرابط تجد شرح لها ومثال وبشكل بسيط تعريفها هي مثلا ان تقوم بعمل اسلوب ما ثم تنتظر وقت معين ثم تعيد عمل هذا الاسلوب وهكذا

هذا الرابط

لست متواجد بشكل يومي

#3

اشكرك اخى مجدى على ردك السريع الذى ما اشتاق الى قراته

ولكن انا فعلا قرات هذا الرابط ولكن لا استطيع فهم الكثير منه

ارجو من حضرتك ان تقوم بشرحه لى بطريقتك الممتازه التى اعتدنا كلنا عليها واعتذر للاطاله

#4

اليك هذا المثال والشرح موجود في الكود قمت بتبسيط المثال الموجود على الرابط السابق

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;//الباكيج الموجود بها التايمر

public class MeinScreen extends MIDlet
{
  Timer timer = new Timer();//  انشاء التايمر لا ستخدامها 
  Display    display;  
     StartTimer st = new StartTimer();// الكلاس لبدء التايمر
     PAINTING p = new PAINTING();//في هذه الكلاس نكتب ما نريد عمله اقصد ما الذي يقوم به البرنامج
public MeinScreen()
	{
  display=Display.getDisplay(this);
	}
public void startApp()
	{
        display.setCurrent(p);
        timer.schedule(st, 1000, 1000 );// انتظر ثانية وبعدها قم بعمل الرسم او الاسلوب كل ثانية
	}

protected void pauseApp() { }
protected void destroyApp( boolean unconditional ) { }
public void exit(){
        timer.cancel(); // stop painting() لالغاء عمل التايمر وتوقيفها 
        destroyApp( true );
        notifyDestroyed();
    }

//هذه الكلاس دائما عند استخدام التايمر يجب استخدامها
//لمعرف ما هو الاسلوب الذي يجب ان يبدا به
//ويجب ان يحتوي على الاسلوب رن ومن ثم كتابة الاسلوب المراد تنفيذه في الاول
class StartTimer extends TimerTask {
        public void run(){
                          p.Start(); //Start painting
                    }
        }

// and here you must write what make your Programm !!

class PAINTING extends Canvas
{
	int w = getWidth();
	int h = getHeight();
    int x =getWidth()/2;
	int y =getHeight()/2;
	int temp = y;
public void Start()
	{
	// ابدا الرسم بقيمة معينة
  y=y+10;
  if(y>h){y=temp;}
  repaint();// قم بالرسم مرة اخرى وقمنا بتحديد الوقت 
  //timer.schedule(st, 1000, 1000 );// انتظر ثانية وبعدها قم بعمل الرسم او الاسلوب كل ثانية
	}
protected void paint(Graphics g)
	{

  g.setColor(255,255,255);
  g.fillRect(0,0,getWidth(),getHeight());
  g.setColor(255,0,0);
  g.drawString("J2ME is cool and easy",x,y,Graphics.HCENTER|Graphics.BASELINE);

	}
}
// Stop The running 
  protected void keypressed( int keycode ){
           exit();
        }
}

لست متواجد بشكل يومي

#5

بسم الله الرحمن الرحيم

والله يا اخ مجدى انا كل يوم تزداد سعادتى لاننى مشترك بهذا المنتدى الذى يقوم عليه أفاضل مثلك

انا غايه فى السعادة لسرعه ردك على اسئلتى وان كنت اخشى ان اكون اطيل فى السوال ولكن جعل الله هذا فى ميزان حسناتك الى يوم الدين

هذا الموضوع مغلق.

مواضيع مشابهة