gpt4 book ai didi

java - JTable 在自定义渲染器上卡住了

转载 作者:行者123 更新时间:2023-12-02 08:27:55 25 4
gpt4 key购买 nike

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

我的渲染器的精简版本(完整版本位于 this spot ):

public class GradeRenderer extends JLabel implements TableCellRenderer {    
public Component getTableCellRendererComponent(JTable table, Object grade,
boolean isSelected, boolean hasFocus, int row, int column) {
if (grade == null) return new JLabel();
Grade myself = (Grade) grade;
int score = myself.getScore();
setText(String.valueOf(score));
Assessment thing = myself.getThing();
GradeStatus status = myself.getStatus();
AssessmentType type = thing.getType();
// do some work with status
// do some work with type
return this;
}
}

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

model = new GradeEntryModel();
table = new JTable(model);
// some work with table
table.setDefaultRenderer(Grade.class, new GradeRenderer(true));

有任何关于我哪里出错的指示吗?

最佳答案

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

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

如果您需要更多帮助,请发布您的SSCCE这说明了问题。

关于java - JTable 在自定义渲染器上卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4121176/

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