Bonjour à tous !
Pour un programme, j'ai une classe JFormattedTextField pour des dates :
Code java : 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
package modele;
 
import javax.swing.*;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
 
public class DateTextField extends JFormattedTextField {
    public DateTextField() {
        super(new SimpleDateFormat("dd/MM/yyyy"));
    }
    public DateTextField(LocalDate d) {
        super(new SimpleDateFormat("dd/MM/yyyy"));
        if (d != null)
            this.setValue(Date.from(d.atStartOfDay().toInstant(ZoneOffset.ofHours(2))));
    }
    public LocalDate getDateValue() {
        Object value = this.getValue();
        if ( value instanceof Date ) {// ici java.sql.Date à cause de l'import
            return ((Date)value).toLocalDate();
        }
        else  if ( value instanceof java.util.Date ) {
            ZonedDateTime zdt = ZonedDateTime.ofInstant ( ((java.util.Date )value).toInstant(), ZoneId.systemDefault() );
            return  zdt.toLocalDate();
        }
        else {
            return null;
        }
    }
}

Elle fonctionne très bien lorsque je mets une date. Cependant, je voudrais qu'une saisie de type "12/02" soit "demi valide", c'est-à-dire qu'elle soit directement changée en "12/02/annéeEnCours" au lieu d'être effacée.
Comment faire ?

Merci d'avance de vos réponses