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

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

بدأه ajermoun في 1 مارس 2013 · 5 رد · 1,052 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

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

 

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

 

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

 

بدوره في Frame1

 

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

 

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

 

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

 

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

 

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

 

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

 

في المرفقات

 

test2.rar

 

الصورة

 

post-273275-0-83706600-1362163938_thumb.

#2

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

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

 

test2.rar

73b14eadba.gif

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

لكل مبتدئى البرمجه برمجه بلغه السى شارب

تنصيب ويندوز 8 على vmware

#3

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

 

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

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#4
mental-driller كتب:

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

 

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

 

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

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

 

وشكرا مسبقا

 

mohamed salama كتب:

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

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

 

attachicon.giftest2.rar

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

#5

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

 

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 في 7 مارس 2013 في 21:13

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#6

خلى الvariable Public static 

 

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

1

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…