gpt4 book ai didi

java - 如果单元格包含 NULL,则 JTable + getColumnClass() 返回 null

转载 作者:搜寻专家 更新时间:2023-11-01 01:46:32 26 4
gpt4 key购买 nike

我正在尝试通过扩展 DefaultTableModel 和覆盖 getColumnClass() 来对我的 JTable 进行排序,如下所示:

 public Class getColumnClass(int c) {     

return getValueAt(0, c).getClass();
}

如果该表格单元格中没有 NULL,它工作得很好。所以我按以下方式对其进行了修改:

  public Class getColumnClass(int c) {


for(int rowIndex = 0; rowIndex < data.size(); rowIndex++){

Object[] row = data.get(rowIndex);

if (row[c] != null) {
return getValueAt(rowIndex, c).getClass();
}
}
return getValueAt(0, c).getClass();
}

现在,如果列中至少有一个非 NULL 的单元格,它仍然可以正常工作。但是,如果该列中的所有单元格都是 NULL,它就不起作用(因为它返回 nullPointerException)。

请…………帮助……提前致谢

哈桑

最佳答案

您知道您希望每一列事先包含什么类型吗?

如果是这样,那么您可以用类对象构建一个数组,然后只返回适当的一个。

Class[] columns = new Class[]{String.class, String.class, Date.class};

public Class getColumnClass(int c) {
return columns[c];
}

关于java - 如果单元格包含 NULL,则 JTable + getColumnClass() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com