有两次约会。一个在表列中,一个由用户输入。我喜欢在用户输入日期之后的表列中显示日期。
for( int x = 0 ; x < defaulttablemodel.getRowCount() ; x ++ )
if( ( date.after( new SimpleDateFormat( "dd/MM/yy" ).parse(
defaulttablemodel.getValueAt( x , 1 ).toString() ) ) ) )
{
defaulttablemodel.removeRow( x );
}
}
catch( Exception exception )
{}
上面的代码给出了需要做什么工作的想法。谢谢您。
2条答案
按热度按时间bf1o4zei1#
api的日期时间
java.util
以及它们的格式化api,SimpleDateFormat
过时且容易出错。建议完全停止使用它们,并切换到现代日期时间api。出于任何原因,如果您必须坚持使用Java6或Java7,您可以使用threeten backport,它将大部分java.time功能向后移植到Java6和Java7。演示:
输出:
从trail:date-time了解现代日期时间api。
假设你是对的
date
属于LocalDate
,您应该将代码更改为mpbci0fu2#
使用行筛选器。
请注意,下面的代码只是一个概念证明(poc)。代码后面的解释。
这个
JTable
仅显示从当前日期到未来100天的所有日期。用户使用JSpinner
. 单击过滤器JButton
显示,在JTable
,只有那些早于或等于JSpinner
价值观。注意,代码没有错误检查,例如用户可以输入任何他喜欢的日期。如果输入的日期早于当前日期,则JTable
不会显示任何内容,即它将为空。还要注意的是,我只对日期使用默认格式。您可以更改格式以满足您的需要。