Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自定义渲染器上的JTable阻塞_Java_Jtable - Fatal编程技术网

Java 自定义渲染器上的JTable阻塞

Java 自定义渲染器上的JTable阻塞,java,jtable,Java,Jtable,我在JTable中有一个自定义渲染器。当我的JTable显示时,我在JTable.prepareRenderer()上得到一个NullPointerException。我不确定自定义渲染器的哪个部分是不可准备的,但我确定这是我的错 我的渲染器的压缩版本(完整版本位于): 添加渲染器的代码(完整版本): 是否有任何关于我哪里出错的指针?NPE消息将向您提供导致错误的语句。这就是开始寻找的地方。一旦知道哪个变量为空,就可以开始解决这个问题。我们无法帮助您,因为我们不知道错误发生在哪里 我唯一能建议的

我在
JTable
中有一个自定义渲染器。当我的
JTable
显示时,我在
JTable.prepareRenderer()上得到一个
NullPointerException
。我不确定自定义渲染器的哪个部分是不可准备的,但我确定这是我的错

我的渲染器的压缩版本(完整版本位于):

添加渲染器的代码(完整版本):


是否有任何关于我哪里出错的指针?

NPE消息将向您提供导致错误的语句。这就是开始寻找的地方。一旦知道哪个变量为空,就可以开始解决这个问题。我们无法帮助您,因为我们不知道错误发生在哪里

我唯一能建议的是,您不应该使用“returnnull”来返回null渲染器。您可以将文本设置为“”或类似的值,然后返回渲染器


如果您需要更多帮助,请发布您的说明。我同意camickr的观点,NPE会告诉您什么是空的,这样应该会给您一个线索

但是看看你的代码,我想

 if (grade == null) return null;

返回null是触发NullPointerException的一个好方法

结果是我在
模型中的一些数据是
null
。就这样。

d'oh!我当然不应该返回null!我怎么没想到呢?另外,我认为这个SSCCE不是很短或是自包含的,尽管部分问题是我不知道错误发生在哪里。但实际上,这并不能解决我的问题。我知道你不知道错误发生在哪里,这就是为什么你要创建一个SSCCE。你可以从简单有效的事情开始。然后添加自定义渲染器。如果它工作得很好,如果没有,那么你就知道问题出在哪里了。SSCCE的想法是隔离问题,如果您无法找出导致问题的原因,我们可以提供帮助。根据提供的代码,我们无法开始猜测错误。让它正常工作,然后重新添加功能,直到它崩溃?太棒了,哇。我甚至可以在不添加自定义渲染器的情况下获得NPE。非常感谢。但是返回新的JLabel()并不能解决这个问题。事实证明这(可能)不是我的错,因为没有设置默认渲染器仍然会导致NPE。您仍然没有发布SSCCE,简单的案例无法支持上述语句。也许问题在于你表中的数据,但我敢打赌问题是你的错。
model = new GradeEntryModel();
table = new JTable(model);
// some work with table
table.setDefaultRenderer(Grade.class, new GradeRenderer(true));
 if (grade == null) return null;