如何定义与 MySql 数据库相同的 JTable 列的数据类型?



我在Netbeans中创建了一个图形界面,在那里我在FORM JFrame中插入了一个JTable。我有一个MySql数据库,它的列是:

Id:整数

名称:字符串

活动:布尔

但是,当我使用:jTable.setModel(DbUtils.resultSetToTableModel((((RS2XML.jar库的方法(时,jTable全部填充为String。

如何使JTable像数据库(Integer、String和Boolean(一样填充正确的数据类型?

JTable全部填充为String。

模型应包含正确类型的数据。问题是,您没有定义每列的数据类型,因此默认情况下,它被视为Object,默认呈现器只会调用对象上的toString()方法。

您可以覆盖JTablegetColumnClass(...)方法。

类似于:

JTable table = new JTable(model)
{
//  Returning the Class of each column will allow different
//  renderers and editors to be used based on Class
@Override
public Class getColumnClass(int column)
{
for (int row = 0; row < getRowCount(); row++)
{
Object o = getValueAt(row, column);
if (o != null)
return o.getClass();
}
return Object.class;
}
};

最新更新