I have a custom renderer in a JTable. When my JTable displays, I get a NullPointerException on JTable.prepareRenderer(). I’m not sure what part of my custom renderer isn’t preparable, but I’m sure it’s my fault.
Condensed version of my renderer (full version at 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;
}
}
Code where I add the renderer (full version here):
model = new GradeEntryModel();
table = new JTable(model);
// some work with table
table.setDefaultRenderer(Grade.class, new GradeRenderer(true));
Any pointers as to where I’ve gone wrong?
Turns out some of my data in
modelisnull. That’d do it.