Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Где переобпределять рендер?


Автор: PovAnd 3.9.2008, 01:27
В таблички нужно подкрасить нужные строки. Обычно это делаем через переобпределение дефолтного рендера, но что надо делать если CellEditor используется тот у которого чекбокс. Там берется не дефолтный рендер, и куда там подлезать чтобы переопределить метод getTableCellEditorComponent ни в какую не пойму.

Пробую так:

Код

            TableColumn tableColumn = table.getColumnModel().getColumn(1);
            JCheckBox box = new JCheckBox();
            tableColumn.setCellEditor(new DefaultCellEditor(box) {
                private static final long serialVersionUID = 1L;

                public Component getTableCellEditorComponent(JTable table,
                        Object value, boolean isSelected, int row, int column) {
                    Integer.parseInt("fsdfsdf");
                    delegate.setValue(value);
                    return editorComponent;
                }

                public String toString() {
                    return "Фигня какая-то";
                }
            });


Никакого эффекта. У колонки именно этот CellEditor, а метод getTableCellEditorComponent так никогда и не вызывается. Блин, в чем сила?

Автор: SaSho 3.9.2008, 08:13
Вы сейчас говорите о рендерере или эдиторе? Это несколько разные вещи...
А ещё мне кажется, что в строке 
Код

Integer.parseInt("fsdfsdf");

будет получен NumberFormatException

Автор: Ortega 3.9.2008, 08:44
PovAnd, подправьте метод toString(), пожалуста. Я понимаю, эмоции одолевают, но все же.

Автор: PovAnd 3.9.2008, 09:02
SaSho, да там будет получен эксепшен, эт тип проверка что оно таки выполнилось. Может конечно чего-то не понимаю, но мне кажется я говорю о рендере, который сидит в данном едитере (чекбоксовом). Непонятка, где именно у этого эдитора рендер, чтобы его поменять до нужного мне. 


Автор: PovAnd 3.9.2008, 09:38
Все понял, вопрос снять

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)