Пользовательский TableCellRenderer не работает (рендеринг строк таблицы)
Я пытаюсь визуализировать определенную строку моего jtable (у него должен быть другой цвет фона, и у него должны быть жирные символы).
Я нашел несколько вопросов относительно того, как реализовать кастомTableCellRenderer
(Вот а такжеВот) и учебникКак использовать таблицы и этот (Рендеринг таблицы строк).
Я используюJInternalFrame
отображатьJTable
, Я пытался реализовать оба решения, но ниgetCellRenderer
ниprepareRenderer
называются. При отладке я вижу, как создается моя новая jtable, но моя точка останова внутри методов не вызывается.
Мой код выглядит так:
this.add(createData(model));
private JComponent createData(ProfitLossTableModel model) {
JTable table = new JTable(model) {
public TableCellRenderer getCellRenderer(int row, int column) {
if ((row == 0) && (column == 0)) {
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setHorizontalAlignment(JLabel.RIGHT);
renderer.setBackground(Color.red);
return renderer;
} else {
return super.getCellRenderer(row, column);
}
}
};
table.setPreferredScrollableViewportSize(table.getPreferredSize());
table.changeSelection(0, 0, false, false);
table.setAutoCreateRowSorter(true);
return new JScrollPane(table);
}
Как видите, модель - это моя реализацияAbstractTableModel
.
Конечно, я что-то упустил. Я пытался позвонитьrepaint()
чтобы увидеть, если что-то случилось, но ничего не произошло.
Я также попытался поместить JPane в свой JInternalFrame, и они добавили в него JScrollPane, но ничего не произошло.
Любая помощь?
ТИА,
боб