当我的表用新数据更新自己时,它会调用prepareRenderer。这是默认情况下,JTable在更新时所做的事情。但是,当我的程序调用prepareRenderer方法时,它在其参数中给它一个空TableCellRenderer。因此,我得到一个空指针异常。
dataTable = new javax.swing.JTable() {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
return super.prepareRenderer(renderer, row, column);
}
};我就是这样宣布的。@重写甚至不需要真正的覆盖。我把它放在那里,这样我就可以在里面放一个断点,这样我就可以看到它实际上是在触发,以及参数的值是什么。无论出于什么原因,当java调用这个prepareRender方法时,它都会为TableCellRenderer参数提供一个空值。它为什么要这么做,我该怎么解决它?因为NPE,我在屏幕上什么也没有。
发布于 2016-03-23 19:43:25
这个问题就在我的桌面上。具体来说,getColumnClass方法没有返回任何东西(仅为null),因为我是如何编写返回的。如果getColumnClass方法不起作用,桌面渲染将失败,因为它不知道如何显示数据。
https://stackoverflow.com/questions/36184113
复制相似问题