Bonjour à tous !
J'ai un petit problème avec les dates...
J'ai un programme qui se connecte et récupère des dates via JDBC (elles s'affichent au format aaaa-mm-jj... Je préférerais jj/mm/aaaa mais ça viendra après).
Je veux pouvoir aussi créer un objet dans lequel j'utilise les date. J'ai donc une fenêtre qui s'ouvre, avec entre autre un JFormattedTextField que j'ai fait pour les dates :
Or, quand je valide le formulaire pour créer l'objet, j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package modele; import javax.swing.*; import java.text.SimpleDateFormat; import java.time.LocalDate; public class DateTextField extends JFormattedTextField { public DateTextField() { super(new SimpleDateFormat("dd/MM/yyyy")); } public DateTextField(LocalDate d) { super(new SimpleDateFormat("dd/MM/yyyy")); this.setValue(d); } public LocalDate getDateValue() { return (LocalDate)this.getValue(); } }
Je crois comprendre que c'est le DateTextField et en particulier la méthode getDateValue() qui pose problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.base/java.util.Date cannot be cast to java.base/java.time.LocalDate at modele.DateTextField.getDateValue(DateTextField.java:16) at vue.PopupOperation.okButton(PopupOperation.java:111) at controleur.OkListener.actionPerformed(OkListener.java:16) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) ...
Quand je modifie en
J'ai cette fois-ci l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public LocalDate getDateValue() { return ((Date)this.getValue()).toLocalDate(); }
Comment faire pour que mon TextField renvoie une date ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.base/java.util.Date cannot be cast to java.sql/java.sql.Date
Merci d'avance de vos éclairages
Partager