【问题标题】:Why is TableCellRenderer null?为什么 TableCellRenderer 为空?
【发布时间】:2016-07-11 02:16:24
【问题描述】:

当我的表使用新数据更新自身时,它会调用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);
        }
    };

我就是这样声明的。 @Override 甚至不是真正需要的。我把它放在那里,这样我就可以在其中放置一个断点,这样我就可以看到它实际上正在触发以及参数的值是什么。无论出于何种原因,当 java 调用此 prepareRender 方法时,它会为 TableCellRenderer 参数提供一个空值。为什么要这样做,我该如何解决?由于 NPE,我在屏幕上什么也看不到。

【问题讨论】:

  • 男孩,当您对同一主题有疑问时,您刚刚发布了另一个问题,这很烦人:stackoverflow.com/questions/36180429/…。您被要求发布正确的SSCCE。不这样做就是在浪费大家的时间!!!

标签: java nullpointerexception jtable tablecellrenderer


【解决方案1】:

问题出在我的表格模型中。具体来说,getColumnClass 方法没有返回任何内容(仅限 null),因为我是如何编写返回值的。如果 getColumnClass 方法不起作用,tablecellrender 会失败,因为它不知道如何显示数据。

【讨论】:

  • 当您提出问题时发布适当的SSCCE。根据对问题的模糊描述和两行代码,我们绝对无法猜测您的问题是什么。你继续浪费人们的时间。
猜你喜欢
  • 2014-01-07
  • 2011-11-09
  • 2012-02-16
  • 2013-10-30
  • 2015-06-30
  • 2012-12-17
  • 2013-09-21
  • 2012-02-15
  • 1970-01-01
相关资源
最近更新 更多