إنشاء JTable باستخدام نموذج الملخص
< span style = "عائلة الخط:" فيردانا" ، بلا رقيق ؛" >كل
JTable < / b> له نموذج مرتبط به. قد لا تدرك ذلك ولكن يتم إنشاؤه افتراضيا عند إنشاء المصفوفة ثنائية الأبعاد: < / span>
Object[][] data = {{1,2,3},{2,3,4},{4,5,6},{7,8,9}}; < / span > < span style = "عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >سلسلة[] العنوان = {< نمط الامتداد = "اللون: أزرق ؛" >"Column1", "Column2", "العمود3"سبان>}; < / span > < span style = "عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >مثال JTableJTable = <نمط الامتداد = "اللون: #741b47;" >< / امتداد جديد > JTable (بيانات ، اسم العمود)} ؛ < / span >< / td>< / tr>< / tbody>< / table> < / span >< span style = "عائلة الخط: " فيردانا" ، بلا رقيق ؛" >لحسن الحظ ، < / span >< span style = "عائلة الخط:" فيردانا" ، بلا رقيق ؛" >يمكنك استخدام كائن JTable دون المرور عبر قالب الجدول. على سبيل المثال ، لمعرفة طريقة الخلية (2 ، 3) ، استخدم الطريقة getValueAt:
System.out.println(exampleJTable.getValueAt(2, 2)); < / span >< / td>< / tr>< / tbody>< / table>يقوم كائن JTable بإنشاء نمط افتراضيتابليموديل لأنه يتحكم في كيفية عرض البيانات في الجدول ويترك إدارة البيانات لنموذج الجدول. إذا لم يكن النموذج معرفا من قبل المستخدم ، استخدام DefaultTableModel. يمكنك التحقق من صحة ذلك من خلال النظر إلى النموذج من نموذج model في JTable.
TableModel byDefault = exampleJTable.getModel (); < / span > < span style = "عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" > System.out.println(exampleJTable.getValueAt(2, 2).toString()); < / span >< / td>< / tr>< / tbody>< / table>الواجهة < نمط الامتداد = "اللون: #38761d ؛" يحدد >TableModel < / span> كيفية تفاعل البيانات مع JTable. هذا يجعل من السهل إنشاء الجدول واستخدامه في Java. بمجرد ربط نموذج الجدول ب JTable ، لا داعي للقلق بشأن كيفية وصول JTable إلى البيانات. كل ما عليك القلق بشأنه هو إنشاء قالب واستخدامه.
< / span >< span style = "عائلة الخط: " فيردانا" ، بلا رقيق ؛" >هناك فئتان تنفذان واجهة TableModel ، DefaultTableModel < / b> و AbstractTableModel< / b>.< / span >
- ينفذ AbstractTableModel غالبية أساليب TableModel. < / span >< / li>
- DefaultTableModel هي فئة فرعية من AbstractTableModel مع ثلاث طرق منفذة يتم تخزين بياناتها في صفيف.
- int العامة < / span >< span style = "محاذاة النص: تبرير ؛" >getRowCount (): < / span >< span style = "محاذاة النص: تبرير ؛" > العوائد < / span >< span style = "محاذاة النص: تبرير ؛" >عدد الأسطر.< / span >< / span >< / li>
- int العامة getColumnCount(): ترجع عدد الأعمدة.
- الكائن العام getValueAt(صف int، عمود int): إرجاع الكائن في المربع (صف، عمود).
الاختيار بين استخدام نمط AbstractTableModel < / span > أو < span style = "اللون: #38761d ؛" يرتبط >DefaultTableModel بالبيانات. يستخدم DefaultTableModel بنية المتجه. هذا التنفيذ هو مدعوم بواسطة Java ومن وجهة نظر البرمجة أيضا. الجزء الكبير هو تم إجراؤه من أجلك ، ما زلت بحاجة إلى معرفة ما إذا كان هذا التطبيق يسبب مشكلة لتطبيقك.
< / span >< span style = "عائلة الخط: " فيردانا" ، بلا رقيق ؛" >يوفر استخدام AbstractTableModel القدرة على تخزين البيانات بحرية ، ولكن يجب عليك تنفيذ الطرق التي تسمح بالتفاعل مع JTable. يعتمد عدد الطرق المنفذة على كيفية إدارة البيانات. للقراءة ، فقط 3 طرق المذكورة كافية ، ولكن لتعديل (إضافة أو حذف صف أو عمود) ، تحتاج إلى تنفيذ طرق أخرى لتعديل البيانات المخزنة في قالب الجدول. < / span >
إنشاء نموذج جدولclass Model يوسع AbstractTableModel{ كائن خاص[][] البيانات; عنوان السلسلة الخاصة [] ؛
نموذج عام (كائن [] [] بيانات ، عنوان السلسلة [] ) { this.data = data ؛ this.title = title ؛ } /** * إرجاع عنوان العمود والفهرس */ السلسلة العامة getColumnName(int col) { إرجاع this.title[col]; } /** * إرجاع عدد الأعمدة */ int العام getColumnCount() { إرجاع this.title.length ؛ } /** * إرجاع عدد الصفوف */ int getRowCount() { إرجاع this.data.length ؛ } /** * إرجاع الكائن عند تقاطع الصف والعمود */ كائن عام getValueAt(صف int, int col) { إرجاع this.data[row][col]; } /** * تعديل الكائن عند تقاطع الصف والعمود * / الفراغ العام setValueAt (قيمة الكائن ، صف int ، int col) { this.data [row] [col] = القيمة ؛ } } < / pre>يربط هذا الرمز القالب بالجدول
//إنشاء كائن JTable جدول JTable = JTable جديد (); < / span >< br / >< span style = "اللون: أزرق ؛ عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >//إنشاء القالب نموذج = نموذج جديد (البيانات ، العنوان) ؛ < / span >< br / >< span style = "اللون: أزرق ؛ عائلة الخط: " ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >//اربط القالب ب JTable table< / span>.setModel (نموذج) ؛ < / span >< / td >< / tr >< / tbody >< / table>
|
|
|
|