美好的一天。 我有另一个与Jtable相关的问题。 如果列内的日期(到期日)超过或等于当前日期,我想更改表格的行颜色。如何比较当前日期和Jtable中的给定日期?
我想这个代码,但我得到一个错误:java.lang.NumberFormatException:对于输入字符串: “2012-03-15”
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
String expDateString = sdf.format(cal.getTime());
System.out.println(expDateString);
Double date = Double.parseDouble(expDateString);
Double val = Double.parseDouble(tableSummary.getModel().getValueAt(row, 6).toString());
for(int i=0; i<=tableSummary.getRowCount()-1; i++){
if(val >= date){
renderer.setBackground(red);
}
}
谢谢!
这里有一个新的代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
String expDateString = sdf.format(cal.getTime());
Date today = new Date(expDateString);
System.out.println("ang churva is " + today);
Date given = new Date(tableSummary.getModel().getValueAt(row, 6).toString());
for(int i=0; i<=tableSummary.getRowCount()-1; i++){
if(today.compareTo(given)>=0){
renderer.setBackground(red);
}
}
,但我得到这个异常:今天日期java.lang.IllegalArgumentException异常=新的日期(expDateString);
可能重复:http://stackoverflow.com/questions/2592501/compare-dates-in-java – assylias 2012-03-15 11:27:03
您应当存储'Date'您'TableModel',在[检索](http://stackoverflow.com/q/9716893/230513)之后及[渲染]之前尽早将其转换(http://stackoverflow.com/q/9714110/230513) 。 – trashgod 2012-03-15 18:53:39