Как установить Renderer на флажок на Jtable для строки? - PullRequest
1 голос
/ 28 марта 2012
  1. Я установил для рендерера флажок на jtable, используя следующий код

    Object[] ColumnData = {"Sr No","Ward Name","Total voters","Action"};
    Object[][] RawData=null;
    

    // в цикле

    model.insertRow (x, новый объект [] {ключ, ward_name_var, total_vot_var, новый объект [] {o}});model.setValueAt (о, х, 3);tblWard.setModel (модель);

    Сетчк (tblWard, 3, флажок);// вызывая этот метод, который содержит следующие

    частный void Setchk (флажок JTable jTable1, int i, JCheckBox) {jTable1.getColumnModel (). getColumn (i) .setCellRenderer ((new CWCheckBoxRenderer ()));jTable1.getColumnModel (). getColumn (i) .setCellEditor (new CheckBoxCellEditor ());}

Цитата

как мы можем попробовать это для строки, чтобы установить флажок на jtable.заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

Если ваши данные имеют тип Boolean.class, по умолчанию отобразит флажок. Чтобы изменить флажок в определенной строке, вам нужно соответствующее CellEditor. Используемый по умолчанию рендер / редактор используются здесь ; Пользовательские компоненты здесь .

1 голос
/ 29 марта 2012

Вы можете просто переопределить метод getCellRenderer вашего JTable, чтобы вернуть желаемое средство визуализации для данной строки. Пример:

JTable table = new JTable() {
    TableCellRenderer getCellRenderer(int row, int column) {
        if (row == checkBoxRow)
            return myCheckBoxRenderer;
        else
            return super.getCellRenderer(row, column);
    }
};
...