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

كيف تتجدد بيانات فريم تلقائيا عندما ينشط

مغلق
بدأه - a l t - في 3 مارس 2006 · 5 رد · 750 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

يوجد لدي JFrame لعرض بيانات المساجد

ويحتوي على JButton يفتح JFrame آخر لاضافة بيانات جديدة

كما في الصورة

03_03_06_05_16_28_1141391788alt__8.gif

المطلوب هو

عندما اضغط على الزر حفظ ثم اغلاق للفريم "اضافة مسجد "

اريد البيانات في الفريم "المساجد" تتجدد و تعرض البيانات الجديدة تلقائيا . من دون تغيير هذا الفريم الاصلي.

اجوا ان يكون طلبي واضح و بسيط !

وشكرا

11_03_06_12_48_57_1142110137Image(_66).jpg

#2

بعد اضافة المسجد الى القائمة؛ استخدم هذه الميثود لتعمل refresh للفريم؛

JFrameObject.validate();

اذا لم تعمل معك ؛ حاول تعملها مع ال panel التي يوجد بداخلها قائمة المساجد.

اسف سوف اقطعك من كتابة الكود، ادخل هنا لدقيقتين فقط

http://www.shbab1.com/2minutes.htm

#3

يا اخى العزيز هل من الممكن ان ترسل لى على الايميل الكود الخاص بهذا البرنامج الجميل

لانى اريدة ولان هذا عمل عظيم

لو مش ممكن مفيش مشاكل اوك باىىىىى

منتطر الرد سلاممممممممممم (h)

#4

أرجو أن يكون الشرح بسيطا!

اجمع معلوماتك في نهر واحد وليكن PersonCollection،، واجعل من يريد معرفة التغيرات تسجيل اسمه في هذا النهر:

public interface DataListener{
public void dataChanged();
public void dataAdded(Object o);
//maybe add other nice methods.
}
public class PersonCollection{
//code
List<DataListener> list=new Vector<DataListener>();
List<Person> persons=new Vector<Person>();
public void addDataListener(DataListener l){
list.add(l);
}
public void addPerson(Person p){
persons.add(p);
for(DataListener dl: list){
dl.dataAdded(p);
}
}
}

أفترض أنك صنعت ListModel مناسب لـ JList ، أو استخدم TableModel لو كنت ستظهر البيانات في JTable،، عموما،، اجعل ListModel يتصف بـ DataListener،، وأي Model،، طبعا،، عندها،، اعمل تحديث لل Model وتلقائيا سوف تتحدث البيانات في الواجهات الرسومية مباشرة...

لاحظ أمرا،، إن اتباعك لهذا الأسلوب سيجعل من جميع مكوناتك المرئية محدثة تلقائيا! أضف Person إلى PersonCollection وسترى هذه البيانات تنعكس على كل المكونات سواء كانت JList أو JTable أو أي عرض! في وقت واحد!

راجع:

TableModel و ListModel وغيرها..

وأي مساعدة فلا تتردد في السؤال!

بالتوفيق!

تم تعديل هذه المشاركة بواسطة أبومازن في 5 مارس 2006 في 21:45

#5

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

اولا اعتذر عن تاخري في الرد..

=====================

اخوي فيصل جزاك الله خير ، ولا عدمناك ان شاء الله.

mondy ان شاء الله ستكون الشفره في المنتدى ولكن بعدما انتهي منها .

ابو مازن بيض الله وجهك ، اعتقد اني فهمت طريقتك، و المرفق مثال .

والحقيقه انه لضيق وقتي حاليا لم اجرب استخدام هذا الاسلوب عندما تكون المكونات في اكثر من Jframe

ولكني سأحاول باذن الله في نهايه هذا الاسبوع.

وشكرا

ex.rar

11_03_06_12_48_57_1142110137Image(_66).jpg

#6

تنقيح على المثال بسيط.. استخدم AbstractTableModel أحلى...

حررت PersonCollection و My_DefaultTableModel.

لاحظ أني فقط أشير أن البيانات تغيرت ويقوم النظام بعمل ما يلزم!

fireTableDataChanged();

src.rar

هذا الموضوع مغلق.

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