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

ربط DefaulTableModel بي JTable

بدأه sahraoui dhelim في 4 يوليو 2012 · 4 رد · 578 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قمت بي ربط jtable مع جدول في قاعدة البيانات عبر الواجهة الروسومية

و انا الان اريد ان اربطه بي DefaultTableModle لكي يتغير ديناميكيا عند اضافة او حذف اسطر

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                     	

DefaultTableModel dtm=(DefaultTableModel)jTable1.getModel();
Object[] newRow={(dtm.getRowCount()+4),"whatever",Text1.getText(),Text2.getText(),"2015-12-01","2010-05-05"};
dtm.addRow(newRow);
}

لكن يعطينى في الاستثناء

java.lang.ClassCastException: org.jdesktop.swingbinding.JTableBinding$BindingTableModel cannot be cast to javax.swing.table.DefaultTableModel

اعرف ان الخطا في ال casting

لكنى رايت من استخدم

DefaultTableModel dtm=(DefaultTableModel)jTable1.getModel();

بدون مشاكل

#2

على ما اعتقد انه يمكنك عمل cast الى Object ثم من Object الى DefaultTableModel المسأله هنا انه يجب ان يكون هناك علاقة وراثه بين الكلاس الذي تحول منه والكلاس الذي تحول اليه

تحياتي

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


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#3
mental-driller كتب:

على ما اعتقد انه يمكنك عمل cast الى Object ثم من Object الى DefaultTableModel المسأله هنا انه يجب ان يكون هناك علاقة وراثه بين الكلاس الذي تحول منه والكلاس الذي تحول اليه

تحياتي

شكرا على الرد

لكن رايت من عمل مثل هذا ال cast و اشتغل بدون مشاكل

هذا الفيديو مثلا

#4

اظن المشكله تكمن في كونك تستخدم GUI editor انظر الى نوع الكلاس الذي تريد التحويل منه

org.jdesktop.swingbinding.JTableBinding$BindingTableModel

لا اعتقد ان هناك علاقة وراثة بين DefualtTableModel و JTableBinding$BindingTableModel

على الاقل هذا رايي و ما اظنه قد يثبت صحة او خطأ هذ الرأي

1

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


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#5

دائماً لا تقوم بعمل cast على شيء خاص في جافا

وإنما قم بعمل cast على الواجهة الرئيسية لأن طريقة البناء تختلف من بيئة إلى أخرى ومن مزود إلى آخر

ابحث عن TableModel

فإن لم تكن الدالة اللتي تبحث عنها موجودة فيها

قمت بعمل Model خاص فيك ولا تعتمد على الموجود لأنك بالتأكيد ستصطد بحالات مثل حالتك

ملاحظة: ليس بالضرورة أن تقوم ببناء الـ Model كاملاً تستطيع وراثة أي واحد جاهز مثل DefaultTableModel لكن عندها ستكون متأكد أن الـ model الذي تقوم بالتحويل القسري casting عليه هو نفس الـ model الذي تتوقعه

تحياتي

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

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

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

728x90.png

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