62,614
社区成员
发帖
与我相关
我的任务
分享
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
Vector<Object> destFieldRow = null;
while (it.hasNext()){
fields = (TableFields)it.next();
destFieldsCombobox.addItem(fields.getFieldName());
if (fields.isAllowEmpty() == false){
destFieldRow = new Vector<Object>();
destFieldRow.add(fields.getFieldName());
destFieldRow.add(fields.getFieldType());
destFieldRow.add(fields.getFieldLength());
destFieldRow.add(fields.isAllowEmpty());
destFieldRow.add("");
data.add(destFieldRow);
}
}
DestSetTable destSetModel = new DestSetTable(data);
JComboBox c = new JComboBox();
c.addItem("测试");
destSetTable.getColumnModel().getColumn(4).setCellEditor(new DefaultCellEditor(c));
destSetTable.setModel(destSetModel);
class DestSetTable extends AbstractTableModel{
@SuppressWarnings("rawtypes")
Vector<Vector> data = new Vector<Vector>();
String[] n = {"字段名", "类型", "长度", "允许为空", "默认值"};
@SuppressWarnings({ "rawtypes", "unchecked" })
public DestSetTable(Vector data){
this.data = data;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return n.length;
}
public String getColumnName(int col){
return n[col];
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return data.get(rowIndex).get(columnIndex);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public Class getColumnClass(int c){
return getValueAt(0, c).getClass();
}
@SuppressWarnings("unchecked")
public void setValueAt(Object value, int row, int col) {
data.get(row).set(col, value);
fireTableCellUpdated(row, col);
}
public boolean isCellEditable(int rowIndex, int columnIndex)
{
if (columnIndex == 4){
return true;
}
else{
return false;
}
}
}
destSetTable.setModel(destSetModel)
不setmodel就能出来,用了这段jtextfield跟jtable都没法显示