很多朋友在开发数据列表中数据新增、修改等操作的时候一般是弹出一个新的表单来处理,其实可以像类似Excel和很多数据库工具那样直接双击单元格来编辑的,例如时间字段默认显示时间,双击后弹出时间框来选择;部门的字段可以默认显示部门,双击后弹出一个ComboBox选项等等。
简单写一个例子,供大家参考。
// 设置jTableUser模型
jTableUser.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"编号", "姓名", "所属公司", "密码", "管理权限", "锁定标识", "操作员", "操作时间", "备注"
}
) {
boolean[] canEdit = new boolean [] {
false, true, true, true, true, true, false, false, true // 设置字段是否可编辑
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
if(rowIndex == jTableUser.getRowCount() - 1) { // 亮点~一般新增一条数据我们可以默认在数据最后一行加一个空行,这句就是判断这个空行的各个字段要都可以编辑,例如编号。
return true;
} else {
return canEdit [columnIndex];
}
}
});
// 设置特殊字段编辑器
TableColumnModel TCMUser = jTableUser.getColumnModel(); // jTableUser为用户管理的列表
jComboBoxDept.setFont(new java.awt.Font("SimSun", 0, 12)); // jComboBoxDept为部门下来选框