Будьте любезны, подскажите, что нужно сделать, что бы в ячейке таблицы, разместить нужный мне тип!?
И потом рисовать в этой ячейке на основе данных установленного типа?
Здравствуйте, BOSSSS, Вы писали:
BOS>Здравствуйте!
BOS>Будьте любезны, подскажите, что нужно сделать, что бы в ячейке таблицы, разместить нужный мне тип!? BOS>И потом рисовать в этой ячейке на основе данных установленного типа?
Для начала переопределить в модели метод getColumnClass(int), возвращая нужный тебе тип. Потом создавай свой класс-renderer, наследуясь от DefaultTableCellRenderer'а, ну и, наконец, table.setDefaultRenderer(YourType.class, new YourRenderer());
Здравствуйте, joybell0, Вы писали:
J>Здравствуйте, BOSSSS, Вы писали:
BOS>>Здравствуйте!
BOS>>Будьте любезны, подскажите, что нужно сделать, что бы в ячейке таблицы, разместить нужный мне тип!? BOS>>И потом рисовать в этой ячейке на основе данных установленного типа?
J>Для начала переопределить в модели метод getColumnClass(int), возвращая нужный тебе тип. Потом создавай свой класс-renderer, наследуясь от DefaultTableCellRenderer'а, ну и, наконец, table.setDefaultRenderer(YourType.class, new YourRenderer());
Здесь представлен переопределённый класс:
class Renderer extends DefaultTableCellRenderer implements TableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Graphics s = table.getGraphics();
s.setColor(Color.BLUE);
s.fillOval(5, 5, 5, 5);
paintComponents(s);
return this;
}
}
Кружок рисуется, и тут же стирается?
Где я ошибся подскажите??
спасибо!
BOS>Кружок рисуется, и тут же стирается? BOS>Где я ошибся подскажите?? BOS>спасибо!
Попробуй не table.getGraphics(); а просто getGraphics();
Непонятно, зачем ты из рендерера лезешь на таблицу
Здравствуйте, Дмитрий В, Вы писали:
ДВ>Здравствуйте, BOSSSS, Вы писали:
BOS>>Кружок рисуется, и тут же стирается? BOS>>Где я ошибся подскажите?? BOS>>спасибо!
ДВ>Попробуй не table.getGraphics(); а просто getGraphics();
Когда убрал — появилось куча исключений.
ДВ>Непонятно, зачем ты из рендерера лезешь на таблицу
На сколько я понимаю это перересовка ячейки, следовательно я тут рисую.
Или рисовать нужно в PaintCompanent класса Jtable, на основе данных ячейки?
Подскажит как правильно. я запутался!
спасибо.
Здравствуйте, BOSSSS, Вы писали:
BOS> public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
BOS>Но связи с данными ячейки ненахожу. Как мне получить их??
Выделено жирным. Ты из принципа документацию не читаешь?