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

استفسار في الthreads

بدأه hazimzxc في 29 نوفمبر 2011 · 2 رد · 422 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

بدي استفسر كيف اقدر اعمل عداد ارقام عن طريق threads

مثلا ارقام من 1 -10 يتمو يلف على الارقام ولمن اضغط على زر يطبع الرقم

#2

ألسلام عليكم ..

  1. استخدم الكود التالي :
    import javax.swing.JLabel;
    
    public class MyThread implements Runnable
    {
    
    	JLabel jLabel ;
     	int i = 0 ;
     	public boolean IsStop = false;
    
       public MyThread(JLabel pJLabel)
    	{
       	this.jLabel = pJLabel;
    	}
    
    	public void run()
    	{
     		i = 0 ;
       	while(!IsStop)
       	{
    
       		try
       		{
       		i++;
       		this.jLabel.setText(i+"");
       		//System.out.println(i);
          	// Thread.sleep(1000);
       		if( i >= 10)
           		i = 0 ;
    
       		}catch(Exception ex)
       		{
           		ex.printStackTrace();
       		}
    
       	}
    	}
    
    
    }

    طبعا هو عبارة عن Runnable و نمرر له JLabel كي يظهر القيمة .. يمكنك حذفه ..

  2. خذ JFrame و ضع عليه JLabel1 و زرين btnRunMyThread و btnStop ..
  3. عرف المتحولين على مستوى الــ Frame وهما :
     MyThread myThread;
    	Thread thread;

  4. كود الأزرار :
    	MyThread myThread;
    	Thread thread;
    	private void btnRunMyThreadActionPerformed(java.awt.event.ActionEvent evt)                                       		
    	{                                           		
    
       	btnRunMyThread.setEnabled(false);
        	myThread = new MyThread(jLabel1);
        	thread = new Thread(myThread);
        	thread.start();
    
    	}                                          	
    
    	private void btnStopActionPerformed(java.awt.event.ActionEvent evt)
    	{
        	// TODO add your handling code here:
        	System.out.println("Stopping.....");
       	if(myThread != null)
        	{
            	myThread.IsStop = true;
        	}
        	if (thread != null)
        	{
    
            	thread.stop();
        	}
        	btnRunMyThread.setEnabled(true);
    	}

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 29 نوفمبر 2011 في 21:19

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

شكرا وبارك الله فيك

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