Jtable中的某一列添加了ComboBox,我的需求是每一行的ComboBox的值要不一样(从数据库中取),我现在的方法只能是这一列的值都是一样的。哪位XD给个思路啊,先谢谢了!
dm = new DefaultTableModel();
table = new JTable(dm);
box = new JComboBox();
box.addItem("1");
box.addItem("2");
box.addItem("3");
box.addItem("4");DefaultCellEditor ce = new DefaultCellEditor(box);
TableColumnModel cm = table.getColumnModel();
cm.getColumn(5).setCellEditor(ce);
scrollpane = new JScrollPane(table);
dm = new DefaultTableModel();
table = new JTable(dm);
box = new JComboBox();
box.addItem("1");
box.addItem("2");
box.addItem("3");
box.addItem("4");DefaultCellEditor ce = new DefaultCellEditor(box);
TableColumnModel cm = table.getColumnModel();
cm.getColumn(5).setCellEditor(ce);
scrollpane = new JScrollPane(table);
box.setItem ??
然后再创建实例:
DefaultTableModel(Vector data, Vector columnNames) 或者用这个方法 setValueAt(Object aValue, int rowIndex, int columnIndex) ;
Sets the value in the cell at columnIndex and rowIndex to aValue.
像LZ写的"cm.getColumn(5).setCellEditor(ce);" 给第5列干成了同一个的cell,不一样才怪。
其实我觉得懒人才用DefaultTableModel吧。自己写一个TableModel类来Implement AbstractTableModel,
不仅使用方便,而且扩展性好。