Boa noite, estou estudando Java, e consequentemente sou nova aqui.
Quero simplesmente setar meu componente JDateChooser para pegar a data atual do sistema. Logicamente utilizei JDateChooser.setDate(new Date()); funcionou!
Até que eu precisei importar a java.sql.date
Gerou um conflito com a java.util.date e então tenho que optar por um ou outro. Como resolvo este impasse? Desde já agradeço, e me desculpo caso já tenha algo semelhante por aqui, sinceramente procurei o dia todo e não consegui resolver meu problema. Este é o erro:
no suitable constructor found for Date() constructor java.sqlDate.Date(long) is not applicable (actual and formal argument listis differ in length) constructor java sql.Date.Date(int,int,int) is not applicable (actual and formal argument lists differ in length).
Primeiramente seja bem vinda. E se você realmente precisa de utilizar a java.sql.date e a java.util.date pode setar no código onde irá utilizar cada uma. Por exemplo:
java.util.Date data = new java.util.Date();
java.sql.Date dataSql = new java.sql.Date(0L);
Olá, obrigada pela atenção. Quando eu disse que estava estudando, quis dizer que sou iniciante mesmo! Eu não entendi o que vc disse! Quer dizer, entendi o que significa! Mas não sei usar na prática. Tenho que fazer um método[url]? E como usarei esse métodoPode, por gentileza, me dizer como fica? Repetindo preciso apenas que o componente inicialize com a data atual. Muito obrigada mais uma vez.?
Então remova a importação da java.sql.Date. provavelmente não irá precisar dela.
Utilize somente a java.util.Date, já deve remover os erros do seu código e executar normalmente.
Qualquer coisa cole o seu código aqui, fica mais fácil para ajudar.
Aqui eu preciso usar a util.date
private void habilitaCampos() {
...
dcDataEmissao.setDate((new Date()));
...
}
E aqui eu preciso usar a sql.date (e mais em outros lugares)
} else {
SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date dataInicio = (java.util.Date) dcEmissaoInicial.getDate();
java.util.Date dataFim = (java.util.Date) dcEmissaoFinal.getDate();
lancamentos = lanca.listarLancamentos(Date.valueOf(formato.format(dataInicio)), Date.valueOf(formato.format(dataFim)));
mostrarLancamentos(lancamentos);
}
Eu sei que tenho que fazer a mesma coisa no caso do .setDate(new Date());
mas não consegui raciocinar a conversão nesse cado de setar no componente…
Espero que tenha sido clara!
Obrigado mais uma vez pela compreensão!
Nessa parte do else você esta fazendo muitas conversões desnecessárias.
Essa parte eu não sei, nunca utilizei esse componente JDateChooser.
java.util.Date dataInicio = (java.util.Date) dcEmissaoInicial.getDate();
java.util.Date dataFim = (java.util.Date) dcEmissaoFinal.getDate();
Nessa parte, vc tem um Objeto Date, formata ele, converte em String e depois converte ele em Date novamente? Pq?
lancamentos = lanca.listarLancamentos(Date.valueOf(formato.format(dataInicio)), Date.valueOf(formato.format(dataFim)));
Não é mais simples assim:
lancamentos = lanca.listarLancamentos(dataInicio, dataFim);
Ai vc não precisa do Date.valueOf, nem da java.sql.Date.
não deu certo,
É melhor tentarmos utilizar a classe util.date para o setDate(new Date());
q eu ainda não consegui desenvolver uma lógica
me ajuda!!!
Parece brincadeira, … mas não é! Me atrapalhei toda! e acho até que acabei te confundindo!
fiz isso aqui e deu certo!
dcDataEmissao.setDate(new java.util.Date());
De qualquer forma agradeço muito pela atenção!
acho q pro meu primeiro post… mereço um desconto haha!
até a próxima!