Estou com problemas para utilizar RowFilter para filtrar datas, se eu exibo data no formato americano eu consigo que o filtro me retorne o resultado esperado, porém se eu coloca a data no formato brasileiro ele não me retorna os dados corretamente. Teria alguma forma de resolver o problema?
private void filter() {
// get dos dados
if (text.length() == 0
&& dataEmissaoInicio == null
&& dataEmissaoFim == null
&& dataVencimentoInicio == null
&& dataVencimentoFim == null) {
sorter.setRowFilter(null);
} else {
try {
lstRowFilter.add(RowFilter.regexFilter("(?i)" + text, 1));
if (dataEmissaoInicio != null) {
lstRowFilter.add(RowFilter.dateFilter(RowFilter.ComparisonType.AFTER, dataEmissaoInicio, 2));
}
if (dataEmissaoFim != null) {
lstRowFilter.add(RowFilter.dateFilter(RowFilter.ComparisonType.BEFORE, dataEmissaoFim, 2));
}
if (dataVencimentoInicio != null) {
lstRowFilter.add(RowFilter.dateFilter(RowFilter.ComparisonType.AFTER, dataVencimentoInicio, 3));
}
if (dataVencimentoFim != null) {
lstRowFilter.add(RowFilter.dateFilter(RowFilter.ComparisonType.BEFORE, dataVencimentoFim, 3));
}
RowFilter<TableModel, Object> rf = RowFilter.andFilter(lstRowFilter);
sorter.setRowFilter(rf);
} catch (PatternSyntaxException e) {
System.err.println("Erro");
}
}
}