Хочу в JTable ячейке хранить свой тип?
От: BOSSSS Россия  
Дата: 27.05.07 18:36
Оценка:
Здравствуйте!

Будьте любезны, подскажите, что нужно сделать, что бы в ячейке таблицы, разместить нужный мне тип!?
И потом рисовать в этой ячейке на основе данных установленного типа?

Спасибо!
Re: Хочу в JTable ячейке хранить свой тип?
От: joybell0  
Дата: 27.05.07 19:08
Оценка: 1 (1)
Здравствуйте, BOSSSS, Вы писали:

BOS>Здравствуйте!


BOS>Будьте любезны, подскажите, что нужно сделать, что бы в ячейке таблицы, разместить нужный мне тип!?

BOS>И потом рисовать в этой ячейке на основе данных установленного типа?

Для начала переопределить в модели метод getColumnClass(int), возвращая нужный тебе тип. Потом создавай свой класс-renderer, наследуясь от DefaultTableCellRenderer'а, ну и, наконец, table.setDefaultRenderer(YourType.class, new YourRenderer());
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Хочу в JTable ячейке хранить свой тип?
От: BOSSSS Россия  
Дата: 28.05.07 10:38
Оценка:
Здравствуйте, 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;
    }

}


Кружок рисуется, и тут же стирается?
Где я ошибся подскажите??
спасибо!
Re[3]: Хочу в JTable ячейке хранить свой тип?
От: Дмитрий В  
Дата: 28.05.07 10:41
Оценка:
Здравствуйте, BOSSSS, Вы писали:



BOS>Кружок рисуется, и тут же стирается?

BOS>Где я ошибся подскажите??
BOS>спасибо!
Попробуй не table.getGraphics(); а просто getGraphics();
Непонятно, зачем ты из рендерера лезешь на таблицу
Re: Хочу в JTable ячейке хранить свой тип?
От: LeonidV Ниоткуда http://vygovskiy.com
Дата: 28.05.07 10:42
Оценка:
Вопрос немного не в тему:
Богатый опыт на Delphi?
http://jvmmemory.com — простой способ настройки JVM
Re[2]: Хочу в JTable ячейке хранить свой тип?
От: BOSSSS Россия  
Дата: 28.05.07 10:48
Оценка:
Здравствуйте, LeonidV, Вы писали:

LV>Вопрос немного не в тему:

LV>Богатый опыт на Delphi?

C Delphi незнаком вообще.
Знаком с C++;
Re[4]: Хочу в JTable ячейке хранить свой тип?
От: BOSSSS Россия  
Дата: 28.05.07 10:52
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

ДВ>Здравствуйте, BOSSSS, Вы писали:




BOS>>Кружок рисуется, и тут же стирается?

BOS>>Где я ошибся подскажите??
BOS>>спасибо!



ДВ>Попробуй не table.getGraphics(); а просто getGraphics();

Когда убрал — появилось куча исключений.

ДВ>Непонятно, зачем ты из рендерера лезешь на таблицу


На сколько я понимаю это перересовка ячейки, следовательно я тут рисую.
Или рисовать нужно в PaintCompanent класса Jtable, на основе данных ячейки?
Подскажит как правильно. я запутался!
спасибо.
Re: Хочу в JTable ячейке хранить свой тип?
От: BOSSSS Россия  
Дата: 28.05.07 11:14
Оценка:
Здравствуйте, BOSSSS, Вы писали:

Данный переопределённый рендерер работает:

public    class Renderer extends DefaultTableCellRenderer implements TableCellRenderer
    {


    protected void paintComponent(Graphics g)
    {
        super.paintComponents(g);
        g.setColor(Color.BLUE);
        g.fillOval(5, 5, 5, 5);
        //getValueAt(0,0);   хочу получить данные ячейки !!!
        
    }
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
        {
        
            return this;
        }

    }

}


Но связи с данными ячейки ненахожу. Как мне получить их??
Re[2]: Хочу в JTable ячейке хранить свой тип?
От: Blazkowicz Россия  
Дата: 28.05.07 11:43
Оценка: 1 (1)
Здравствуйте, BOSSSS, Вы писали:

BOS> public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)


BOS>Но связи с данными ячейки ненахожу. Как мне получить их??

Выделено жирным. Ты из принципа документацию не читаешь?
Re[3]: Хочу в JTable ячейке хранить свой тип?
От: BOSSSS Россия  
Дата: 28.05.07 11:52
Оценка:
Здравствуйте, Blazkowicz, Вы писали:


B>Выделено жирным. Ты из принципа документацию не читаешь?


Всё завязываю с неправильным подходом, буду читать документацию.

Всем спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.