У меня есть пользовательский рендер в JTable
. Когда мои JTable
отображаются, я получаю NullPointerException
на JTable.prepareRenderer()
. Я не уверен, какая часть моего пользовательского рендерера не подготовима, но я уверен, что это моя вина.
Сокращенная версия моего рендерера (полная версия на это место ):
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;
}
}
Код, куда я добавляю рендерер (полная версия здесь ):
model = new GradeEntryModel();
table = new JTable(model);
// some work with table
table.setDefaultRenderer(Grade.class, new GradeRenderer(true));
Какие-нибудь указатели относительно того, где я ошибся?