JTable and Jcheckbox
Добавлено: 10 авг 2007, 13:13
приветствую.
мне надо создать таблицу в которой будут выводиться данные из БД, но так чтоб одна колонка была с Jcheckbox'ами. Ниже приведен код... почти вес получилось - единственное что checkbox'ы отображаются только когда по ним кликаешь, в остальное время там значения (true/false).
DefaultTableModel model = new DefaultTableModel(){
public boolean isCellEditable(int rowIndex, int mColIndex) { if (mColIndex == 2) return true; return false;}
};
// Create a couple of columns
model.addColumn("No");
model.addColumn("Ф.И.О.");
model.addColumn("Присутствие");
for (int i = 0; ... /* тут пробегаюсь по всему HashMap'у*/; i++){
model.addRow(new Object[]{obj.get("id"),
obj.get("firstname") + " " + obj.get("lastname") + " " + obj.get("surname"),
Boolean.TRUE });
}
table.setModel(model);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
TableColumn col = table.getColumnModel().getColumn(0);
col.setPreferredWidth(50);
col = table.getColumnModel().getColumn(1);
col.setPreferredWidth(300);
col = table.getColumnModel().getColumn(2);
col.setCellEditor(new DefaultCellEditor(new JCheckBox()));
col.setPreferredWidth(100);
мне надо создать таблицу в которой будут выводиться данные из БД, но так чтоб одна колонка была с Jcheckbox'ами. Ниже приведен код... почти вес получилось - единственное что checkbox'ы отображаются только когда по ним кликаешь, в остальное время там значения (true/false).
DefaultTableModel model = new DefaultTableModel(){
public boolean isCellEditable(int rowIndex, int mColIndex) { if (mColIndex == 2) return true; return false;}
};
// Create a couple of columns
model.addColumn("No");
model.addColumn("Ф.И.О.");
model.addColumn("Присутствие");
for (int i = 0; ... /* тут пробегаюсь по всему HashMap'у*/; i++){
model.addRow(new Object[]{obj.get("id"),
obj.get("firstname") + " " + obj.get("lastname") + " " + obj.get("surname"),
Boolean.TRUE });
}
table.setModel(model);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
TableColumn col = table.getColumnModel().getColumn(0);
col.setPreferredWidth(50);
col = table.getColumnModel().getColumn(1);
col.setPreferredWidth(300);
col = table.getColumnModel().getColumn(2);
col.setCellEditor(new DefaultCellEditor(new JCheckBox()));
col.setPreferredWidth(100);