Pessoal, criei um Campo Formatado com o formato de data com a seguinte mascara ##/##/####, mas quando a pessoa digita 50/50/2017 ele aceita, mas quando ela clica para salvar, ele não salva, pois não está no formato de data. só que isso é um problema, pq depois q ele digita esse valor, eu copio essa data para uma outra jframe onde ela vai ser salva.
Gostaria de colocar uma restrição na hora da digitação pra pessoa fazer apenas entrada logica exemplo: o dia só pode ir até 31 se for mais q isso ele n aceitar e o mês até 12 pra não ter problema do cara digita valor errado, ir pra proxima tela, lançar valores e quando for salvar o sistema der pau
seria possível isso?
Você pode fazer da seguinte maneira:
String s = "05/07/2017";
DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
df.setLenient (false); //isso faz com que o parse se torne imperdoável, qualquer erro lança exceções...
try {
df.parse (s);
// data válida
} catch (ParseException ex) {
// data inválida
}
Aconselho você procurar sobre o componente jDateChooser, ele é próprio para uso de datas e já vem com essas validações prontas, aí não tem necessidade de implementar nada na mão.
1 curtida
Bom dia, cara coloca o trecho do teu código onde está rolando todo esse processo, para analisarmos como deve ser aplicado.
coloquei um jcalendar e arrastei para minha jframe no jDateChooser, mas antes eu tinha um campo formatado onde eu passava esse valor para um outro jtextfield, mas agora não vai pq o campo não é texto mais. alguem sabe me dizer como eu mando do jDateChooser para um jtextfield que está em outra tela? eu usava esse código antes > EntradadadosData.getText()