public Class getColumnClass(int column)Java يحدد ما إذا كنت قد حددت عارض JTable أم لا ، وإلا فإن JTable يستدعي القالب ويستدعي نمط getColumnClass () < / span >< span style = "font-family: inherit;" > < / span > الذي يسترد نوع الخلية في الصف الأول. بعد ذلك ، يقارنها بقائمة أنواع البيانات التي يتم حفظ عمليات التسليم فيها. يتم بدء هذه القائمة بواسطة JTable ، ولكن يمكنك إضافتها أو تحريرها. تتضمن العروض ImageIcon و Icon.
{
return getValueAt(0, column).getClass();
}
import javax.swing.*;
import javax.swing.table.*;
Table_image من الفئة العامة يمتد JFrame
{
Table_image العامة ()
{
ImageIcon icon1 = ImageIcon جديد ("1.png") ؛
رمز ImageIcon 2 = رمز الصورة الجديد ("2.png") ؛
رمز ImageIcon 3 = رمز الصورة الجديد ("3.png") ؛
رمز ImageIcon4 = رمز الصورة الجديد ("4.png") ؛
string [] title = {"نظام التشغيل" ، "الشعبية"} ؛
Object[][] data =
{
{icon1, "Android: 76.6٪"},
{icon2, "IOS: 19.7٪"},
{icon3, "Windows Phone: 2.8٪"},
{icon4, "BlackBerry OS: 1٪"},
};
قالب DefaultTableModel = DefaultTableModel جديد (البيانات ، العنوان) ؛
جدول JTable = JTable جديد (قالب) < br / > {
/ * الكشف التلقائي عن أنواع البيانات
* لجميع الأعمدة
* /
فئة عامة getColumnClass (عمود int)
{
إرجاع getValueAt(0, column).getClass();
}
} ؛
// تغيير ارتفاع الصف
table.setRowHeight(100);
JScrollPane scrollPane = JScrollPane الجديد (الجدول) ؛
getContentPane().add( scrollPane);
}
الفراغ الثابت العام الرئيسي (سلسلة [] args)
{
Table_image الإطار = جديد Table_image () ؛
frame.setDefaultCloseOperation (EXIT_ON_CLOSE) ؛
frame.pack ();
frame.setVisible (صحيح) ؛
}
}
< / pre> النتيجة بعد التنفيذ:
إذا لم تقم بتطبيق نمط getColumnClass ، سيحتوي العمود على نص (اسم الملف) وليس صورا. على سبيل المثال ، بدلا من إدراج شعار Android ، سيعرض JTable "1.png".
إذا كنت تستخدم القالب الخاص بك الذي يرث من AbstractTableModel< / a> ، لا تنس تنفيذ نمط getColumnClass في فئة النموذج.class Model يمتد AbstractTableModel{اقرأ المزيد عن المحررين والعارضين على موقع جافا الرسمي: Editors and Renderers.
بيانات الكائن الخاص[][] ؛
عنوان السلسلة الخاصة [] ؛
نموذج عام (كائن [] [] بيانات ، عنوان السلسلة [] ) {
this.data = data ؛
this.title = title ؛
}
public Class getColumnClass(int column)
{
return getValueAt(0, column).getClass();
}
int public getColumnCount () {
إرجاع this.title.length ؛
}
int getRowCount () {
إرجاع this.data.length ؛
}
كائن عام getValueAt(int row, int col) {
إرجاع this.data[row][col];
}
}
Please disable your ad blocker and refresh the window to use this website.