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

مشكلة نافدتين

بدأه ishere11 في 13 نوفمبر 2010 · 7 رد · 394 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

عندي مشكلة ولم أجد لها حل

لديا نافدتين الأولى تحتوي على لا ئحة jlist تحتوي على أسماء : سيارة حيوان ملاعب إلخ

أريد لما أضغظ على السيارة تظهر النافدة التانية تحتوي على صور السيارات

و لكن المشكلة تكمن إدا ضغط للمرة التانية على السيارة تظهر نافدة أخرى تحتوي على صور السيارات

أنا أريد نافدة واحدة فقط وليس إتنين

جزاكم اله كل خـــيـــر

#2

فى حاله الضغط على الزر الذى سيظهر لك السياره

اللى هو فى النافذه الاولى

بعد ما تظهر السياره

اعمل للنافذه الاولى

this.dispose();

كى تختفى هذه النافذه

بالتوفيق

Software Developer
Mahmoudkelany.com


 

#3
Mahmoud Kelany كتب:

فى حاله الضغط على الزر الذى سيظهر لك السياره

اللى هو فى النافذه الاولى

بعد ما تظهر السياره

اعمل للنافذه الاولى

this.dispose();

كى تختفى هذه النافذه

بالتوفيق

المشكلة أن نافدتين تظهر تحتوي على صور السيارات

#4

قم بوضع متغير النافذه الثانية (JFrame ) كمتغير عام في الكلاس لديك..

الان عندما تريد فتحها (وقت الحدث)، قم بفحص هل هو خالى null وفي هذه الحالة ضع قيمة جديدة new JFrame وأظهره setVisible to true

عندما تريد فتحه مره أخرى اختبر هل هو ظاهر أم لأ isVisible .. واذا كان غير ظاهر فقم باظهاره..

عندما تريد ارسال صور أو مسارات لهذا الفريم فيمكن أن تعد دالة setImages تقوم بهذا الأمر وتستدعيها وقت الحدث..

خيار اخر هو استخدام Singleton في الJFrame..

الحديث عام ويفضل طرح الكود لتوضيح أكثر،

بالتوفيق،

1

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#5

كدا مشكلتك غير واضحه

يجب وضع الكود لكى نعرف نتفهمك ونحل المشكله

بالتوفيق :)

Software Developer
Mahmoudkelany.com


 

#6
Wajdy Essam كتب:

قم بوضع متغير النافذه الثانية (JFrame ) كمتغير عام في الكلاس لديك..

الان عندما تريد فتحها (وقت الحدث)، قم بفحص هل هو خالى null وفي هذه الحالة ضع قيمة جديدة new JFrame وأظهره setVisible to true

عندما تريد فتحه مره أخرى اختبر هل هو ظاهر أم لأ isVisible .. واذا كان غير ظاهر فقم باظهاره..

عندما تريد ارسال صور أو مسارات لهذا الفريم فيمكن أن تعد دالة setImages تقوم بهذا الأمر وتستدعيها وقت الحدث..

خيار اخر هو استخدام Singleton في الJFrame..

الحديث عام ويفضل طرح الكود لتوضيح أكثر،

بالتوفيق،

+2

بالكود

داخل حدث ضغط الزر اكتب الكود التالى

mySecondWindow window2=new mySecondWindow();
if( !window2.isVisible){
window2.setVisible("true");   
}

اظنها سهلة

بالتوفيق

تم تعديل هذه المشاركة بواسطة Oracle_Java في 13 نوفمبر 2010 في 16:41


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#7

بارك الله فيك يا اخى

تم تعديل هذه المشاركة بواسطة The expendable في 14 نوفمبر 2010 في 16:29

no-pain-no-gain.jpg

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك

#8

هناك أسلوب يعرف باسم القيمة الابتدائية المتأخرة lazy initialization هي ما يسبب لك المشكلة هنا

لأنك في كل مرة تقوم بعمل كائن جديد من النافذة الخاصة بك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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