• 0
Ajermoun Mohamed

مساعدة في كيفية ارسال نص من Frame الى Frame منفصلتين

سؤال

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

 

أثناء تعاملي مع MDI Application واجهتني مشكلة وهي عن عرض زوجين من JInernalFrame في نفس ال DesktopPane مع العلم أنهما منفصلين

 

أي كل كلاس لوحدها والصورة في الاسفل توضح كل شيء

 

ومن ثم ارسال محتوى ال TextFiled الموجود في Frame1 الى ال TextFiled الموجود في ال Frame2 عن طريق الضغط على ال Button الموجود

 

بدوره في Frame1

 

أريد أن أعرف أولا هل ما اريد الوصول اليه ممكن أم لا ؟

 

قمت بانشاء Method في ال Frame2 تأخذ بارامتر String .....

 

على أي فالصورة توضح كل شي

 

وكل ماقمت به لم ينجح معي

 

أنتظر مساعدتكم بفارغ الصبر وشكرا مسبقا

 

السورس كود بواسطة netbeans

 

في المرفقات

 

test2.rar

 

الصورة

 

post-273275-0-83706600-1362163938_thumb.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

انا حليت المشكله لكن لا اعلم ان كانت حل ملفق ام يوجد حل افضل من هذا

الحل فى المرفقات

 

test2.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالتاكيد ممكن، يمكنك عمل دالة تستقبل كائن من نفس نوع فئة النافذه الاخرى، وفي تعريف الفئه قم بكتابة دالة Set بحيث تكون public وهكذا يمكن للنافذه الثانية ان تعدل بيانات النافذه الاولى وذلك عبر الــ Reference  الخاص بالنافذه الاولى المرر لها.

 

ولكني انصح باستخدام نمط Mediator Pattern او Variant من هذا النمط لانه يعتبر More loosely coupled

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالتاكيد ممكن، يمكنك عمل دالة تستقبل كائن من نفس نوع فئة النافذه الاخرى، وفي تعريف الفئه قم بكتابة دالة Set بحيث تكون public وهكذا يمكن للنافذه الثانية ان تعدل بيانات النافذه الاولى وذلك عبر الــ Reference  الخاص بالنافذه الاولى المرر لها.

 

ولكني انصح باستخدام نمط Mediator Pattern او Variant من هذا النمط لانه يعتبر More loosely coupled

 

شكرا أخي على الاجابة لكن هل يمكن أن تفسر أكثر بخصوص نمط Mediator Pattern او Variant

وهل ما أصبو اليه يعتبر نقص في لغة الجافا أم لانني أستعمل netbeans ( يعطي افتراضيا القيم private لأي كائن )

 

وشكرا مسبقا

 

انا حليت المشكله لكن لا اعلم ان كانت حل ملفق ام يوجد حل افضل من هذا

الحل فى المرفقات

 

attachicon.giftest2.rar

 

شكرا على الجواب

 

لكن  هذا المثال الذي وضعته انما هو مثال توضيحي صغير  فقط

 

اما ما أصبو اليه فهو مثلا

 

عند الضغط على زر في FRAME1 مثلا يتم تحديث الجدول JTABLE الموجود في FRAME2 أو

 

عند الضغط على زر في FRAME1 يتم تنفيذ دالة موجودة في FRAME2 تقوم بعمل ما

 

يعني امكانية الوصول الي أي عنصر في frame1 من خلال ال frame2 أو العكس

 

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

 

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

 

أم ان السبب يعود لعدم معرفتي ببعض مبادئ الجافا الاساسية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي افضل طريقه لعمل ما تريده هو تمرير المؤشر من النافذه الاولى الى الثانية مثلا:

 

public class Frame1 extends JFrame{private JTable table1;public void setTable1(JTable t){this.table1 = t;}public JTable getTable1(){return table1;}...public class Frame2 extends JFrame{private Frame1 frame;public Frame2(Frame1 f){this.frame = f;}...}public static void main(string[] args){Frame1 frame1 = new Frame1();Frame2 frame2 = new Frame2(frame1);}

 

بالنسبة لنمط mediator فيمكنك البحث في الانترنت عن النمك وكيفية تطبيقه، الفكره باختصار هي وجود كلاسات colleagues تتراسل عبر كلاس mediator يعمل كوسيط لتناقل الرسائل بين الكائنات، طبعا تتبع هذه الفئات قوانين معينه باستخدام الــ ploymorphism.

تم تعديل بواسطه mental-driller
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .