Olá pessoal, estou com dificuldades em manipular Datas no java, gostaria da ajuda de vcs!!!!
O programa deve pegar a data atual, quando clicado o botão novo, e mostrá-la na tela, até ai deu certo
O problema é que da erro na hora de efetuar o cadastro no banco
Aqui o erro:
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
Aqui é o trecho do código para cadastro:
public void cadastroCabeloFeito() throws SQLException, ParseException {
CabeloFeito cf = new CabeloFeito();
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
cf.setCodcli(Long.valueOf(jTCodcli.getText()));
cf.setData(sdf.parse(jTData.getText()));
cf.setEscova((String) (jCEscova.getSelectedItem()));
cf.setTintura(jTTintura.getText());
cf.setOutros((String) jCOutros.getSelectedItem());
cf.setMatizacao(jTMatizacao.getText());
cf.setPreco(Float.parseFloat(jTPreco.getText().replace(",", ".")));
cf.setPgto((String) jCPgto.getSelectedItem());
cf.setRest(Float.parseFloat(jTRest.getText().replace(",", ".")));
cf.setObs(jTObs.getText());
CabeloFeitoDao dao = new CabeloFeitoDao();
dao.adicionaCabeloFeito(cf);
}
E aqui o código do Método novo, onde é inserido a data atual:
public void novo() throws ParseException{
jTNome.setText("");
jTCodcli.setText("");
//formatando data
Date datas = new Date();
String dia = ""+datas.getDate();
String mes = ""+String.valueOf(datas.getMonth()+1);
String ano = ""+(1900 + datas.getYear());
if(Integer.parseInt(mes)<=9)
mes = "0"+mes;
jTData.setText((dia+"/"+mes+"/"+ano));
//fim da formatação
//jTData.setText("");
jCEscova.setSelectedItem("--");
jTTintura.setText("");
jCOutros.setSelectedItem("--");
jTMatizacao.setText("");
jTPreco.setText("");
jCPgto.setSelectedItem("--");
jTRest.setText("");
jTObs.setText("");
}