Java Netbeans Postgresql - Conversão de String de JFormattedField em Data - Modelo MVC

0 respostas
java
C

Estou criando um programa que calcula pena de presidiário, em java, no NetBeans, com bd Postgresql, modelo MVC. E preciso realizar muitos cálculos com datas. Estou pesquisando a uma semana e não consegui achar uma resposta que me ajude a solucionar o meu problema.
Tenho as seguintes linhas de comandos:
No Modelo, criei a variável como Date;
No Controle, tenho as seguintes linhas de comando, onde existem duas datas para as quais usei o date do java.sql:

public void inserirInterrupcao(ModeloInterrupcao mod){

conex.conexao();

try {

PreparedStatement pst = conex.conn.prepareStatement(insert into interrupcoes (matricula,apenado,data_inicial, data_final, motivo,id_condenacao) values(?,?,?,?,?,?));

pst.setInt(1, mod.getMatricula());

pst.setString(2,mod.getApenado());

pst.setDate(3,mod.getDataInicial());

pst.setDate(4,mod.getDataFinal());

pst.setString(5,mod.getMotivo());

pst.setInt(6,mod.getIdInterrupcao());

pst.execute();

Na Visão(JFrame), no botão Salvar, tenho as seguintes linhas de comando, onde estou com problema, pois nas duas linhas onde estão as datas  o erro que <em>String não pode ser convertida para data</em>:

mod.setMatricula(Integer.parseInt(jTextFieldMatricula.getText()));

mod.setApenado(jTextFieldApenado.getText());

mod.setDataInicial(jFormattedTextFieldData_Inicial.getText());

mod.setDataFinal(jFormattedTextFieldData_Final.getText());

mod.setMotivo((String) jComboBoxMotivo.getSelectedItem());

mod.setIdInterrupcao(Integer.parseInt(jTextFieldId.getText()));

 tentei converter, usando o DateFormat dateFormat = new SimpleDateFormat(dd/MM/yyyy);, mas nada acontece.

Se uso o mod.setDataInicial(Date.valueOf(jFormattedTextFieldData_Inicial.getText())); desaparece o erro da conversão, mas aparece outro, quando vou salvar, dizendo que Exception in thread AWT-EventQueue-0 java.lang.IllegalArgumentException /  at java.sql.Date.valueOf(Date.java:143).

Pelo que entendi o valueOf não pode ser usado ali.

Nos cursos e apostilas que tenho as datas são tratadas como string, mas isso me impede de usá-las para calcular. E preciso muito disso.

O que fazer?  como resolver a conversão, sem provocar o segundo erro?

Desculpe-me, se infringi alguma regra do Foro. É a primeira vez que peço ajuda.
Criado 11 de julho de 2016
Respostas 0
Participantes 1