حياة

DefaultTableModel نظرة عامة

DefaultTableModel نظرة عامة

ال

DefaultTableModelالطبقة هي فئة فرعية من

AbstractTableModel. كما يوحي الاسم ، هو نموذج الجدول الذي يتم استخدامه بواسطة JTable عندما لا يوجد مبرمج محدد في مبرمج. DefaultTableModel بتخزين البيانات من أجل JTable في

قوه موجهةمن

ثلاثة أبعاد.

على الرغم من أن

قوه موجهةهي عبارة عن مجموعة Java قديمة لا تزال مدعومة ولا توجد مشكلة في استخدامها ما لم يكن الحمل الإضافي الناجم عن استخدام مجموعة متزامنة يمثل مشكلة في تطبيق Java الخاص بك.

ميزة استخدام

DefaultTableModelعلى العرف

AbstractTableModelألا يلزمك ترميز الطرق مثل إضافة صفوف أو أعمدة أو إدراجها أو حذفها. أنها موجودة بالفعل لتغيير البيانات الموجودة في

قوه موجهةمن

ثلاثة أبعاد.هذا يجعله نموذج جدول سريع وسهل التنفيذ.

بيان الاستيراد

استيراد javax.swing.table.DefaultTableModel ؛

الصانعين

ال

DefaultTableModelالطبقة لديها ستة بناة. كل يمكن استخدامها لسكان

DefaultTableModelبطرق مختلفة.

أول منشئ لا يأخذ أي حجج ويخلق

DefaultTableModelالتي لا تحتوي على بيانات وأعمدة صفرية وصفوف صفرية:

DefaultTableModel defTableModel = DefaultTableModel ()؛

يمكن استخدام المُنشئ التالي لتحديد عدد الصفوف والأعمدة من

DefaultTableModelمع عدم وجود بيانات:

DefaultTableModel defTableModel = DefaultTableModel (10، 10)؛

هناك نوعان من المنشئات التي يمكن استخدامها لإنشاء

DefaultTableModelمع أسماء الأعمدة وعدد محدد من الصفوف (تحتوي جميعها على قيم فارغة). يستخدم أحد

موضوعمجموعة لعقد أسماء الأعمدة ، والآخر أ

قوه موجهة:

String columnNames = {"Column 1"، "Column 2"، "Column 3"}؛DefaultTableModel defTableModel = DefaultTableModel (columnNames ، 10) ؛

أو

DefaultTableModel defTableModel = DefaultTableModel (columnNames ، 10) ؛

وأخيرا هناك نوعان من المباني المستخدمة لملء

DefaultTableModelمع بيانات الصف جنبا إلى جنب مع أسماء الأعمدة. واحد المستخدمة

موضوعصفائف ، والآخر

ثلاثة أبعاد:

بيانات الكائن = {{1،1،1} ، {2،2،2} ، {3،3،3} ، {4،4،4}} ؛

String columnNames = {"Column 1"، "Column 2"، "Column 3"}؛DefaultTableModel defTableModel = DefaultTableModel (البيانات ، أسماء الأعمدة) ؛

أو

Vector rowData = جديد Vector () ؛

rowData.add (1)؛

Vector> data = new Vector> () ؛

data.add (0 ، rowData) ؛

عمود المتجهالأسماء = جديد المتجه ()؛

columnNames.add ("العمود 1") ؛DefaultTableModel defTableModel = DefaultTableModel (البيانات ، أسماء الأعمدة) ؛

طرق مفيدة

لإضافة صف إلى

DefaultTableModelاستخدم ال

اضف سطرطريقة جنبا إلى جنب مع بيانات الصف لإضافة:

الكائن newRowData = {5،5،5،5}؛defTableModel.addRow (newRowData)؛

لإدراج صف استخدام

الصف إدراجالطريقة ، تحديد فهرس الصف لإدراج وبيانات الصف:

كائن insertRowData = {2.5،2.5،2.5،2.5}؛defTableModel.insertRow (2، insertRowData)؛

لحذف صف استخدم

removeRowالطريقة ، تحديد فهرس الصف المراد حذفه:

defTableModel.removeRow (0)؛

للحصول على قيمة في خلية الجدول استخدام

getValueAtطريقة. على سبيل المثال ، إذا كانت البيانات في الصف 2 ، يحتوي العمود 2 على int:

int value = tabModel.getValueAt (2، 2)؛

لتعيين قيمة في خلية جدول

setValueAtالطريقة مع القيمة لتعيين جنبا إلى جنب مع مؤشر الصف والعمود:

defTableModel.setValueAt (8888 ، 3 ، 2) ؛

نصائح الاستخدام

اذا كان

JTableيتم إنشاؤه باستخدام المُنشئ الذي تم تمريره صفيف ثنائي الأبعاد يحتوي على بيانات الصف ومصفوفة تحتوي على أسماء الأعمدة:

بيانات الكائن = {{1،1،1} ، {2،2،2} ، {3،3،3} ، {4،4،4}} ؛

String columnNames = {"Column 1"، "Column 2"، "Column 3"}؛

JTable exampleJTable = new JTable (data ، columnNames)؛

ثم لن يعمل الممثلون التاليون:

DefaultTableModel dft = (DefaultTableModel) exampleJTable.getModel ()؛

وقت التشغيل

ClassCastExceptionسيتم طرح لأنه في هذه الحالة

DefaultTableModelأعلن كطبقة داخلية مجهولة في

JTableالاعتراض ولا يمكن أن يلقي. لا يمكن إلا أن يلقي ل

TableModelجهة تعامل. طريقة للتغلب على هذا هو إنشاء الخاصة بك

DefaultTableModelووضعه ليكون نموذجا لل

JTable:

JTable exampleJTable = new JTable ()؛

DefaultTableModel defTableModel = جديد DefaultTableModel (البيانات ، أسماء الأعمدة) ؛

exampleJTable.setModel (defTableModel)؛

ثم ال

DefaultTableModel

defTableModelيمكن استخدامها لمعالجة البيانات في

JTable.

لرؤية ال

DefaultTableModelفي العمل إلقاء نظرة على برنامج مثال DefaultTableModel.