Se esse método já retorna um Date, então bastaria fazer:
Date data = this.txtDataRecebimento.getDate();
Não tem porque transformar a data em string, para depois transformar em data de novo…
Antes de prosseguir, entenda uma coisa:
Datas NÃO têm formato
Uma data é apenas um conceito, uma ideia: ela representa um ponto na linha do tempo.
Por exemplo, a data de “15 de janeiro de 2020”, representa isso: o ponto específico do calendário que corresponde ao dia 15 do mês de janeiro do ano de 2020. Para expressar essa ideia em forma de texto, eu posso escrevê-la de diferentes formas:
- 15/01/2020 (um formato bem comum em muitos países, incluindo o Brasil)
- 1/15/2020 (o irritante formato americano, invertendo o dia e mês)
- 2020-01-15 (o formato ISO 8601)
- Quinze de Janeiro de 2020 (em bom português)
- January 15th, 2020 (em inglês)
- 2020年1月15日 (em japonês)
- e muitos outros…
Repare que cada um dos formatos acima é diferente, mas todos representam a mesma data (os mesmos valores numéricos do dia, mês e ano).
Quando você salva uma data no banco de dados, ela é gravada em algum formato interno que só interessa ao banco de dados, mas que não importa para você. O que importa é: a data não está no formato X ou Y. O banco só guarda os valores (como ele faz não importa).
Quando você consulta a data no banco (com um SELECT), ou mostra na tela (com println), é claro que a data é mostrada em algum formato, mas isso não quer dizer que ela está naquele formato. Não está. Internamente ela só tem valores numéricos que representam o ponto específico do calendário que ela representa. Quando vc imprime a data, esses valores são convertidos para algum formato.
No caso do Java, datas são representadas por Date (ou, nas versões mais novas, por LocalDate, LocalDateTime, etc). Essas são classes que só tem valores numéricos. Ao imprimir com println, esses valores são convertidos para algum formato (para uma String contendo um texto que representa a data).
Sendo assim, você pode simplesmente salvar o Date no banco. Todas as API’s de banco de dados possuem a opção de salvar um objeto diretamente, então se o campo no banco de dados é do tipo DATE (ou DATETIME, TIMESTAMP, etc), não precisa converter a data para nenhum formato. Basta passar o Date diretamente.
Claro, se o campo for VARCHAR, aí teria que converter mesmo (ou mude para o tipo correto, que é o mais indicado).