Java 在jTable中动态解析日期
我有一个四列的jTable。第一列保存成员的一些代码,第二列保存成员的准入日期,第三列保存成员的验证到期日期。如果过期日期超过系统日期的10天,我必须从列中删除行 我写的代码是这样的:Java 在jTable中动态解析日期,java,swing,date,jtable,Java,Swing,Date,Jtable,我有一个四列的jTable。第一列保存成员的一些代码,第二列保存成员的准入日期,第三列保存成员的验证到期日期。如果过期日期超过系统日期的10天,我必须从列中删除行 我写的代码是这样的: public void expire(){ try{ DefaultTableModel model = (DefaultTableModel) empTbl.getModel(); int col=2; int rows = empTbl.getRowCount();
public void expire(){
try{
DefaultTableModel model = (DefaultTableModel) empTbl.getModel();
int col=2;
int rows = empTbl.getRowCount();
for(int row=0; row<=rows; row++){
SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy");
Calendar currentDate = Calendar.getInstance();
String d = formater.format(currentDate.getTime());
Date haatdinPisorTarikh = (Date)formater.parse(d);
String expdate = (String)empTbl.getValueAt(row, col);
Date expire=(Date)formater.parse(expdate);
Calendar expireDate = Calendar.getInstance();
expireDate.add(Calendar.DATE, -10);
if(expireDate.after(haatdinPisorTarikh)){
model.removeRow(row);
}
}
}catch(ParseException ex){}
}
public void expire(){
试一试{
DefaultTableModel=(DefaultTableModel)empTbl.getModel();
int col=2;
int rows=empTbl.getRowCount();
对于(int row=0;row来说,最重要的问题是在您的循环中(显然)
int rows=empTbl.getRowCount();//最重要的问题是在循环中(显然)
int rows=empTbl.getRowCount();//您可以从末尾开始组织
int rows = empTbl.getRowCount();
for(int row=rows-1; row>=0; row--) {
//delete from model won't harm your row indexes.
}
您可以从末尾开始组织
int rows = empTbl.getRowCount();
for(int row=rows-1; row>=0; row--) {
//delete from model won't harm your row indexes.
}