מחלקת DefaultTableModel ב- Java מאחסנת נתונים עבור ה- JTable

ה

DefaultTableModel

הכיתה היא תת-משנה של

מודל מופשט

. כפי שהשם מרמז זה מודל הטבלה שמשמש את א

כאשר אף מתכנת לא מוגדר באופן ספציפי מודל טבלה. ה- DefaultTableModel מאחסן את הנתונים עבור ה- JTable בתוך

וקטור

של

וקטורים

.

למרות ש

וקטור

הוא אוסף Java מדור קודם הוא עדיין נתמך ואין שום בעיה להשתמש בו אלא אם כן התקורה הנוספת הנגרמת על ידי שימוש באוסף מסונכרן מהווה בעיה ביישום ה- Java שלך.

היתרון בשימוש ב-

DefaultTableModel

על פי מנהג

מודל מופשט

האם אינך צריך לקוד את השיטות כמו להוסיף, להוסיף או למחוק שורות ועמודות. הם כבר קיימים כדי לשנות את הנתונים המוחזקים ב-

וקטור

של

וקטורים.

זה הופך אותו למודל שולחן מהיר וקל ליישום.

הצהרת יבוא

יבוא javax.swing.table. DefaultTableModel;

בנאים

ה

DefaultTableModel

בכיתה יש שישה

. כל אחד מהם יכול לשמש כדי לאכלס את

DefaultTableModel

בדרכים שונות.

הקבלן הראשון לא מתווכח ויוצר א

DefaultTableModel

ללא נתונים, אפס עמודות ואפס שורות:

DefaultTableModel defTableModel = DefaultTableModel ();

ניתן להשתמש בבנאי הבא כדי לציין את מספר השורות והעמודות של א

DefaultTableModel

ללא נתונים:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);
instagram viewer

ישנם שני קונסטרקטורים שניתן להשתמש בהם כדי ליצור

DefaultTableModel

עם שמות עמודות ומספר שורות מוגדר (כולם מכילים ערכי null). אחד משתמש ב-

חפץ

מערך להחזיק את שמות העמודות, השני א

וקטור

:

או

DefaultTableModel defTableModel = DefaultTableModel (שמות עמודות, 10);

לבסוף ישנם שני קונסטרקטורים המשמשים לאוכלוסיה

DefaultTableModel

עם נתוני שורה יחד עם שמות עמודות. אחד משומש

חפץ

מערכים, האחר

וקטורים

:

או

שיטות שימושיות

כדי להוסיף שורה ל-

DefaultTableModel

להשתמש ב

להוסיף שורה

שיטה יחד עם נתוני השורה להוסיף:

כדי להוסיף שורה השתמש ב-

insertRow

שיטה, ציון אינדקס השורה להכנס ונתוני השורה:

כדי למחוק שורה השתמש בסמל

להסיר

שיטת ציון אינדקס השורה למחיקה:

defTableModel.removeRow (0);

כדי לקבל ערך בתא טבלה השתמש ב-

getValueAt

שיטה. לדוגמה, אם הנתונים בשורה 2, עמודה 2 מכילה int:

ערך int = tabModel.getValueAt (2, 2);

להגדרת ערך בתא טבלה

setValueAt

שיטה עם הערך שיש לקבוע יחד עם אינדקס השורה והעמודה:

defTableModel.setValueAt (8888, 3, 2);

טיפים לשימוש

אם

JTable

נוצר באמצעות הקונסטרוקטור המועבר למערך דו מימדי המכיל את נתוני השורות ומערך המכיל את שמות העמודות:

אז צוות השחקנים הבא לא יעבוד:

זמן ריצה

ClassCastException

יושלך מכיוון שבמקרה זה

DefaultTableModel

מוכרז כ

בתוך ה

JTable

חפץ ולא ניתן ללהק. ניתן להטיל אותו רק אל

TableModel

ממשק. דרך לעקוף זאת היא ליצור משלך

DefaultTableModel

ולהגדיר אותו להיות המודל של ה-

JTable

:

אז ה

DefaultTableModel
defTableModel

ניתן להשתמש כדי לתפעל את הנתונים ב-

JTable

.

לראות את ה

DefaultTableModel

בפעולה תסתכל על

.