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

استفسار فى جزئية فى الnetBeans

بدأه mr.beshoy في 2 ديسمبر 2010 · 10 رد · 599 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

دائماً كنت أكتب الجزء الخاص بال GUI دون اللجوء لخاصية ال drag & drop فى ال netBeans .

كنت أجرب استعمال هذه الخاصية و لكن وجدت مشكلة و هى :

عندما نريد عمل array of Jlabel

كنا نفعل الآتى :

------------------

String[] str={"first","second","third"};
JLabel[]labels=new JLabel(str.length);
for(int i=0;i<str.length;i++){
	labels=new JLabel(str);
}

و لكن عندما بدأت أن أستعمل خاصية ال drag & drop

لم أرى خاصية بديلة لهذه السطور

كل ما رايته هو أن أسحب Jlabel بالعدد الذى أريده . فرضاً إنى أريد أن أُخلق 15 JLabel يبقى هسحب 15 مرة Jlabel و بالتالى يكون عندى 15 متغير !!!!!!! هذا ليس جيداً

هل هناك ما هو مناظر لهذه السطور فى ال drag & drop

شكراً مقدماً

تم تعديل هذه المشاركة بواسطة mr.beshoy في 2 ديسمبر 2010 في 20:20

#2

لا يوجد

فالطريقه هى كما قولت كل متغير على حدى

Software Developer
Mahmoudkelany.com


 

#3

نادرا ما استخدم netbeans و لا اعرف رد على سؤالك،

ولكني افضل كتابت الكود كما وضعته انت بدلا من استخدام drag & drop

#4

خسارة يا أخ محمود .

أستاذنا العيافى : بما أن ال drag & drop لا يوفر ما أريده فالواحد يفضل بناء ال GUI بنفسه .

بصراحة بجس ال drag & drop بيبوظ الدنيا ما قد أنه بيسهل لكن عندى حاسسية من ناحيته .

ياريت أى حد يعرف أو عنده حل أو معلومة يفيدنا .

شكراً

#5

سيد بيشو

منطقيا طريقتك الاولى صعبة(استخدام مصفوفة)، لان كل object يجب ان يحتوي على اسم يميزه عن باقي الكائنات، لكي يستطيع شخص اخر قرأته( حتى انت لن تستطيع التمييز بين الكائنات)

و ما يفعله ال Netbeans هو الاصح، مع العلم ان بأمكانك تغيير اسم كل Label من الخصائص التابعة لها في المحرر

#6

فاهمك و مش فاهمك فى نفس الوقت

--------------------------------------------------

أنا لما بعمل مصفوفة

كل عنصر فيها بيكون لها اسمها

مثلاً :

label[0]=new JLabel(str[0);

 label[1]=new JLabel(str[1);

 label[2]=new JLabel(str[2);
.
.
.
.

كده كل label فى المصفوفة ليها اسم .

أم فى ال netBeans مش بقدر اعمل مصفوفة !!!

#7

في هذه الحالة

label[0]=new JLabel(str[0);

 label[1]=new JLabel(str[1);

 label[2]=new JLabel(str[2);
.
.
.
.

لم يحتوي على اسم يميزه عن باقي المكونات انما هي مصفوفة و انت تؤشر لهذا الكائن عن طريق رقم لا يوضح عمل هذا الكائن

لكن لنفرض انه يوجد عندي التالي، سيكون من الاسهل لك و لغيرك تتبعه و قرأته

JLabel nameLabel=new JLabel("Name:");
JLabel ageLabel=new JLabel("Age:");
JLabel locationLabel=new JLabel("Location:");
JLabel mailLabel=new JLabel("Mail:");

ارجو ان الامور الان اوضح

لان اغلب الاوقات التي تستخدم فيها المصفوفات هي للقيم وليس للكائنات مثل int ...

#8
mr.beshoy كتب:

فاهمك و مش فاهمك فى نفس الوقت

--------------------------------------------------

أنا لما بعمل مصفوفة

كل عنصر فيها بيكون لها اسمها

مثلاً :

label[0]=new JLabel(str[0);

 label[1]=new JLabel(str[1);

 label[2]=new JLabel(str[2);
.
.
.
.

كده كل label فى المصفوفة ليها اسم .

أم فى ال netBeans مش بقدر اعمل مصفوفة !!!

يا بيشوى

محمد بيقصد انك كدا مش سميت الـ Label باسمه الحقيقى

فهو عباره عن عنصر من عناصر الـ Array

يعنى مثلا لو عاوز اعمل 3 label عليهم high , low , mid

بالتالى بطريقتك هذه هيكون كدا

label[0]=new JLabel("High");

 label[1]=new JLabel("Low");

 label[2]=new JLabel("Mid");

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

انما لم تعملهم كدا

highLabel=new JLabel("High");

  lowLabel=new JLabel("Low");

  midLabel=new JLabel("Mid");

فالبتالى وانت فى اى مكان هتلاقى نفسك عارف دا بيعمل ايه من اسمه

انما فى وسط الكود لقيت كدا

label[0]

طبعا مش هتعرف هو بيعمل ايه الا لم تكون حافظ ترتيبهم وحافظ هو بيعمل ايه

يعنى مش الاسم اللى عرفك

اتمنى ان تكون اتضحت

Software Developer
Mahmoudkelany.com


 

#9

فهمت

بس يعنى لو عندى 25 و لا 30 label هقعد اعمل ده كله !!!

حاجة شلل

--------------------------------

شكراً

#10
mr.beshoy كتب:

فهمت

بس يعنى لو عندى 25 و لا 30 label هقعد اعمل ده كله !!!

حاجة شلل

--------------------------------

شكراً

طيب الحمدلله

مش شلل والله

بس الشلل بقا

انك تحفظ ترتيب كل واحد بيعمل ايه

يعنى عندك 25 اندكس لازم تكون عارف كل الارقام دى بتدل على اى واحد

انما لم يكون اسم المتغير فريد هتعرف طبعا من غير ما تفكر ف حاجه

بمجرد انك تقرا اسم المتغير بس

هذه الطريقه ليها مميزات وعيوب وكذلك طريقتك

ولكن لكل منهما استخدام

حسب شغلك واحتياجك

ولو عاوز تستخدم دى فالنت بينز

هتروح عامل JPanel وتروح مقسمها بالـ layout وتروح ضايف عليها الـ 25 label اللى انت عاوزهم

يعنى

مثلا عندك Frame هتروح ضايف عليه Panel ف مكان معين انت عاوزه

وبعد كدا تروح مقسمها الى مثلا GrideLayout 3*3 وبعدها تروح ضايف عليها الزراير او الـ label

بالطريقه بتاعتك :)

اظن كدا فيه طريقه اهووو laugh.giflaugh.giflaugh.gif لحل لمشكلتك :)

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 3 ديسمبر 2010 في 20:08

Software Developer
Mahmoudkelany.com


 

#11

شكراً للجميع

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